摘要:
原本服务的地址模式是www.namespace-servicename.envname.complayname.io ,按公司新的ingress标准更新了服务之后,变成www.clustername.complayname.io/namespace/servicename, 可以看到原本服务名是在h 阅读全文
摘要:
Error details Run session could not be started:failed to connected to IDE run session notification endpoint:tls:failed to verify certificate: x509: ce 阅读全文
摘要:
中间件实现异常处理 在ASP.NET Core里,我们可以使用中间件(Middleware)实现全局的异常处理。 如内置的异常处理中间件 UseExceptionHandler app.UseExceptionHandler(appError => { appError.Run(async cont 阅读全文
摘要:
背景 最近QA测试一个我开发的一个Web API时,我意识到之前对C#的default的理解一直是想当然的。具体情况是这样,这个API在某些条件下要返回模型的默认值,写法类似于下面这样 [HttpGet(Name = "GetWeatherForecast")] public WeatherFore 阅读全文
摘要:
问题 Can not create proxy for type xxx because type xxx is not accessible. Make it public, or internal and mark your assembly with [assembly: InternalsV 阅读全文
摘要:
背景 最近在OpenSearch查看线上日志的时候,发现某个索引下有些字段无法直接在界面上筛选,搜索到也不高亮,非常的不方便,就像下面这样 字段左侧两个筛选按钮禁用了无法点击,提示 Unindexed fields can not be searched 右侧则有感叹号提示 No cached ma 阅读全文
摘要:
背景 日常开发中,经常需要对一些响应不是很快的关键业务接口增加防重功能,即短时间内收到的多个相同的请求,只处理一个,其余不处理,避免产生脏数据。这和幂等性(idempotency)稍微有点区别,幂等性要求的是对重复请求有相同的效果和结果,通常需要在接口内部执行业务操作前检查状态;而防重可以认为是一个 阅读全文
摘要:
前言 最近又在项目中碰到需要将原本单实现的接口改造成多个实现的场景,这里记录一下常见的几种改法。 假设已经存在如下接口ICustomService和其实现CustomService,由于只有一种实现,注入和使用非常容易。 public interface ICustomService { void 阅读全文
摘要:
背景 最近遇到一个比较特殊需求,需要修改一个的RabbitMQ消费者,以实现在消费某种特定的类型消息时,延迟1小时再处理,几个需要注意的点: 延迟是以小时为单位 不是所有消息都延迟消费,只延迟特定类型的消息 只在第一次消费时延迟1小时,容错机制产生的重新消费(也即消息消费失败,多次进入延迟队列重试) 阅读全文
摘要:
前言 通过kubectl port-forward端口转发,在本地机器上访问k8s集群内的服务/数据库,对开发、调试、定位bug都很有用。 每次都要查,这里记录一下。 步骤 当然首先要确保本地机器上安装了 kubectl,安装文档:https://kubernetes.io/docs/tasks/t 阅读全文