摘要:在 .net 中,创建一个对象最简单的方法是直接使用 new (), 在实际的项目中,我们可能还会用到反射的方法来创建对象,如果你看过 Microsoft.Extensions.DependencyInjection 的源码,你会发现,为了保证在不同场景中的兼容性和性能,内部使用了多种反射机制。在本 阅读全文
posted @ 2021-07-22 14:32 SpringLeee 阅读(1065) 评论(7) 推荐(15) 编辑
摘要:介绍 System.Threading.Channels 是.NET Core 3.0 后推出的新的集合类型, 具有异步API,高性能,线程安全等特点,它可以用来做消息队列,进行数据的生产和消费, 公开的 Writer 和 Reader api对应消息的生产者和消费者,也让Channel更加的简洁和 阅读全文
posted @ 2021-07-16 19:40 SpringLeee 阅读(156) 评论(0) 推荐(3) 编辑
摘要:介绍 Loki: like Prometheus, but for logs. Loki是一个轻量级的日志系统,受到Prometheus项目的启发,由Grafana团队设计和开发,所以在Grafana中是原生支持的,具有可水平扩展,高度可用等特性,通过存储压缩的、非结构化的日志以及仅索引元数据,更加 阅读全文
posted @ 2021-05-17 08:11 SpringLeee 阅读(907) 评论(5) 推荐(8) 编辑
摘要:今天主要介绍使用 registry 来搭建 Docker私有镜像仓库,方便在公司内部项目中使用,registry 也是 Docker 官方提供的一个镜像,操作也很简单。 dockerhub: https://registry.hub.docker.com/_/registry 安装命令 docker 阅读全文
posted @ 2021-05-12 11:57 SpringLeee 阅读(63) 评论(0) 推荐(0) 编辑
摘要:前言 大家可能对诊断工具并不陌生,从大名鼎鼎的 dotTrace,到 .NET CLI 推出的一系列的高效诊断组件(dotnet trace,dotnet sos,dotnet dump)等, 这些工具提升了对程序Debug的能力和效率,可以让开发人员从更高层次的维度来发现程序中的问题。 今天我们针 阅读全文
posted @ 2021-05-08 08:25 SpringLeee 阅读(1117) 评论(9) 推荐(22) 编辑
摘要:介绍 在微服务大行其道的今天,系统会被拆分成多个模块,作为单独的服务运行,同时为了集中化管理,我们还需要日志中心,配置中心等,很多开发人员可能更熟悉 ApolloConfig,这个组件功能也很完善,dotnet的客户端也主要是国人在维护和开发,之前公司就是选型的Apollo,而且也在生产环境稳定运行 阅读全文
posted @ 2021-04-06 12:38 SpringLeee 阅读(843) 评论(8) 推荐(7) 编辑
摘要:介绍 .NET Core 中的配置包含了多个配置提供程序,包括了 appsettings.json,环境变量,命令行参数等,还有一些扩展的自定义提供程序,比如说 ApolloConfig,AgileConfig 这些,然后从键值对中读取配置信息。 在我们的程序中,我们有时需要知道一个配置是由哪一个P 阅读全文
posted @ 2021-03-30 18:56 SpringLeee 阅读(567) 评论(2) 推荐(2) 编辑
摘要:在 .NET Core 中使用异步编程已经很普遍了, 你在项目中随处可见 async 和 await,它简化了异步操作,允许开发人员,使用同步的方式编写异步代码,你会发现在大部分的异步方法中,都提供了CancellationToken参数,本文主要介绍下 CancellationTokenSourc 阅读全文
posted @ 2021-03-16 19:22 SpringLeee 阅读(586) 评论(3) 推荐(3) 编辑
摘要:简介 官方介绍,Flurl是一个现代的,流利的,支持异步的,可测试的,可移植的,URL增强和Http客户端组件。 Url构建 现在有一个登录的接口,地址如下: https://www.some-api.com/login?name=Lee&pwd=123456 我们在处理这个地址的时候,会拼接 lo 阅读全文
posted @ 2021-03-10 16:33 SpringLeee 阅读(1517) 评论(6) 推荐(22) 编辑
摘要:前言 在微服务场景中,开发人员分配到不同的小组,系统会拆分为很多个微服务,有一点是,每个项目都需要单元测试,接口文档,WebAPI接口等,创建新项目这些都是重复的工作,而且还要保证各个项目结构的大体一致,这时就需要一个适用于企业内部的框架模板,类似于前端的脚手架,可以做到开箱即用,注重业务功能开发, 阅读全文
posted @ 2021-03-09 19:45 SpringLeee 阅读(577) 评论(1) 推荐(6) 编辑