首页
学习
活动
专区
工具
TVP
发布

圣杰的专栏

一名立志成为架构师并为之努力奋斗的程序员
专栏成员
126
文章
194633
阅读量
61
订阅数
配置中心 | .NET 集成 Nacos 配置中心
在微服务时代,通常为了提高服务性能而部署多个服务实例,而每个服务的实例都有自己的配置,如果想要更新某个配置,则需要更新每个实例的配置,如果微服务数量不多,尚且可以手动更新,但倘若服务数量较多,则手动更新不仅繁杂而且容易出错。而配置中心,就是来解决这个问题,配置中心可以有效帮助开发者更快捷地更新和管理配置,减少因配置错误而导致的服务中断,从而提高系统的可用性和可靠性。 在开源生态中,主流的配置中心还是Java阵营的Nacos和Apollo,但都提供了 .NET 的SDK便于快速接入,当然.NET 阵营也有一个配置中心新秀:AgileConfig。但相较而言,Nacos架构更加简洁且部署方便,并且已有对应商业版本在阿里云上稳定运行,因此接下来本文将重点介绍.NET 如何集成 Nacos 配置中心。
圣杰
2023-03-10
1.1K0
.NET 使用NLog增强日志输出
不管你是开发单体应用还是微服务应用,在实际的软件的开发、测试和运行阶段,开发者都需要借助日志来定位问题。因此一款好的日志组件将至关重要,在.NET 的开源生态中,目前主要有Serilog、Log4Net和NLog三款优秀的日志组件,但相较而言,NLog功能更加强大且扩展性强,允许开发者在仅修改配置文件的方式来丰富日志输出内容,支持多种日志格式,包括XML、JSON、YAML等,支持多种输出目标,包括文件、数据库、控制台、Loki、ElasticSearch等,支持自定义日志格式,支持日志级别,支持异步写入等功能。
圣杰
2023-03-10
2.8K0
分布式事务 | 使用 dotnetcore/CAP 的本地消息表模式
本地消息表模式,其作为柔性事务的一种,核心是将一个分布式事务拆分为多个本地事务,事务之间通过事件消息衔接,事件消息和上个事务共用一个本地事务存储到本地消息表,再通过定时任务轮询本地消息表进行消息投递,下游业务订阅消息进行消费,本质上是依靠消息的重试机制达到最终一致性。其示意图如下所示,主要分为以下三步:
圣杰
2023-02-10
6580
MassTransit | .NET 分布式应用框架
MassTransit,直译公共交通, 是由Chris Patterson开发的基于消息驱动的.NET 分布式应用框架,其核心思想是借助消息来实现服务之间的松耦合异步通信,进而确保应用更高的可用性、可靠性和可扩展性。通过对消息模型的高度抽象,以及对主流的消息代理(包括RabbitMQ、ActiveMQ、Kafaka、Azure Service Bus、Amazon SQS等)的集成,大大简化了基于消息驱动的开发门槛,同时内置了连接管理、消息序列化和消费者生命周期管理,以及诸如重试、限流、断路器等异常处理机制,让开发者更好的专注于业务实现。 简而言之,MassTransit实现了消息代理透明化。无需面向消息代理编程进行诸如连接管理、队列的申明和绑定等操作,即可轻松实现应用间消息的传递和消费。
圣杰
2022-11-03
1.3K0
诊断日志知多少 | DiagnosticSource 在.NET上的应用
最近为了解决ABP集成CAP时无法通过拦截器启用工作单元的问题,从小伙伴那里学了一招。借助DiagnossticSource,可以最小改动完成需求。关于DiagnosticSource晓东大佬18年在文章 在 .NET Core 中使用 Diagnostics (Diagnostic Source) 记录跟踪信息就有介绍,文章开头就说明了Diagnostics 一直是一个被大多数开发者忽视的东西。是的,我也忽略了,这个好东西,有必要学习一下,下面就和大家简单聊一聊System.Diagnostics.DiagnosticSource在.NET上的应用。
圣杰
2020-10-16
9580
Orleans 知多少 | Orleans 中文文档上线
Orleans建立在.NET开发人员生产力的基础上,并将其带入了分布式应用程序的世界,例如云服务。 Orleans可从单个本地服务器扩展到云中全局分布的高可用性应用程序。
圣杰
2020-09-01
7490
.NET Core + K8S + Apollo 玩转配置中心
如官网所述:Apollo 是携程打造的开源配置中心,GitHub的星星也快点满22K,因此足见它的成熟度和社区活跃度。因此最近在做配置中心选型的时候,经过一番预演,最终敲定Apollo。
圣杰
2020-08-20
1.1K0
.NET Core + K8S + Loki 玩转日志聚合
最近在了解日志聚合系统,正好前几天看到一篇文章《用了日志系统新贵Loki,ELK突然不香了!》,所以就决定动手体验一下。本文就带大家快速了解下Loki,并简单介绍.NET Core如何集成Loki。
圣杰
2020-07-28
1.3K0
Orleans 知多少 | 4. 有状态的Grain
Orleans 的优势之一就是:支持有状态服务的水平扩展。那这一节我们就来看看如何来了解下有状态的Grain。
圣杰
2020-06-19
9720
.NET Core 使用 K8S ConfigMap的正确姿势
ASP.NET Core默认的配置文件定义在appsetings.json和appsettings.{Environment}.json文件中。 这里面有一个问题就是,在使用容器部署时,每次修改配置文件都需要重新构建镜像。当然你也可能会说,我的配置文件很稳定不需要修改,但你又如何确保配置文件中一些机密配置的安全问题呢?比如暴露了你的远程数据库的连接信息,哪天被员工不小心删库跑路了呢? 那接下来就来讲解下如何在.NET Core 中正确使用ConfigMap。
圣杰
2019-09-12
1.6K0
Orleans 知多少 | 2. 核心概念一览
上面已经提到,Grain是Virtual Actor的具体表现。那如何理解Grain呢。
圣杰
2019-09-12
5440
响应式编程知多少 | Rx.NET 了解下
关于Reactive(本文统一译作响应式),有一个The Reactive Manifesto【响应式宣言】:响应式系统(Reactive System)具备以下特质:即时响应性(Responsive)、回弹性(Resilient)、弹性(Elastic)以及消息驱动(Message Driven)。
圣杰
2019-05-27
1.1K0
.NET 反编译调试神器:dnSpy了解一下
可前往dnSpy官网下载或直接从我的分享链接下载(内置包含.NET Framework 4.7.1,若运行提示需要安装,可解压找到.NET Framework 4.7.1-x86-x64-AllOS-ENU.exe安装)。
圣杰
2018-12-28
2.4K0
eShopOnContainers 知多少[2]:Run起来
执行命令git clone https://github.com/dotnet/eShopOnContainers.gitclone代码到本地。使用默认DEV分支即可,该分支会保持最新改动,不要切换到其他分支。
圣杰
2018-10-22
1.7K0
eShopOnContainers 知多少[1]:总体概览
在微服务大行其道的今天,Java阵营的Spring Boot、Spring Cloud、Dubbo微服务框架可谓是风水水起,也不得不感慨Java的生态圈的火爆。反观国内.NET阵营,微服务却不愠不火。
圣杰
2018-10-18
1.3K0
.NET Core+MySql+Nginx 容器化部署
1. 引言 上两节我们通过简单的demo学习了docker的基本操作。这一节我们来一个进阶学习,完成ASP.NET Core + MySql + Nginx的容器化部署。 本文是基于CentOS 7.4环境进行演示,示例项目可以访问Docker.NetCore.MySql进行下载。 2. Hello MySQL 同样我们还是以循序渐进的方式来展开。首先来基于Docker来试玩一下MySQL。 2.1. 创建MySql实例 //拉取mysql镜像 docker pull mysql $ docker ima
圣杰
2018-03-28
1.1K0
.NET Core容器化@Docker
温馨提示:本文适合动手演练,效果更佳。  1. 引言 我们知道. NET Core最大的特性之一就是跨平台,而对于跨平台,似乎大家印象中就是可以在非Windows系统上部署运行。而至于如何操作,可
圣杰
2018-01-11
1.6K0
DDD理论学习系列(12)-- 仓储
1. 引言 DDD中Repository这个单词,主要有两种翻译:资源库和仓储,本文取仓储之译。 说到仓储,我们肯定就想到了仓库,仓库一般用来存放货物,而仓库一般由仓库管理员来管理。当工厂生产了一批货物时,只需交给仓库管理员即可,他负责货物的堆放;当需要发货的时候,仓库管理员负责从仓库中捡货进行货物出库处理。当需要库存盘点时,仓库管理员负责核实货物状态和库存。换句话说,仓库管理员负责了货物的出入库管理。通过仓库管理员这个角色,保证了仓库和工厂的独立性,工厂只需要负责生产即可,而至于货物如何存放工厂无需关注。
圣杰
2018-01-11
1.9K0
.Net异步编程知多少
1. 引言 最近在学习Abp框架,发现Abp框架的很多Api都提供了同步异步两种写法。异步编程说起来,大家可能都会说异步编程性能好。但好在哪里,引入了什么问题,以及如何使用,想必也未必能答的上来。
圣杰
2018-01-11
8680
ABP入门系列(17)——使用ABP集成的邮件系统发送邮件
ABP中对邮件的封装主要集成在Abp.Net.Mail和Abp.Net.Mail.Smtp命名空间下,相应源码在此。 #一、Abp集成的邮件模块是如何实现的 分析可以看出主要由以下几个核心类组成: E
圣杰
2018-01-11
2.7K0
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档