摘要:
hello,大家好呀,今天聊一聊注册中心。 标题本来想叫《如何设计一个注册中心》,但网上已经有好多类似标题的文章了。所以打算另辟蹊径,换个角度,如何组装一个注册中心。 组装意味着不必从0开始造轮子,这也比较符合许多公司对待自研基础组件的态度。 知道如何组装一个注册中心有什么用呢? 第一可以更深入理解 阅读全文
摘要:
现在几乎所有语言都提供包管理工具,比如 JavaScript 的 npm ,Java 的 Maven ,Dart 的 pub 。.Net 程序当然是 NuGet 。NuGet 也出现很多年了,奇怪的是居然还有很多人不知道。 现在软件结构越来越复杂,在多个项目中往往需要共享一些库、组件等等。NuGet 阅读全文
摘要:
微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个 阅读全文
摘要:
Docker可以说是现在微服务,DevOps的基础,咱们.Net Core自然也得上Docker。.Net Core发布到Docker容器的教程网上也有不少,但是今天还是想来写一写。 你搜.Net core程序发布到Docker网上一般常见的有两种方案: 1、在本地编译成Dll文件后通过SCP命令或 阅读全文
摘要:
JWT(JSON Web Token)是目前最流行的认证方案之一。博客园、各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛。但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈。 JWT原理# 本文默认读者已经对JWT有所了解,下面不再详细介绍JWT,只简单提一下。 JWT全称JS 阅读全文
摘要:
欢迎来到《FreeSql 快速入门》系列文档,完整文档请前往 wiki 中心:https://github.com/dotnetcore/FreeSql/wiki FreeSql是功能强大的 .NET ORM,支持 .NetFramework 4.0+、.NetCore 2.1+、Xamarin 等 阅读全文
摘要:
前面对于分布式事务也讲了好几篇了(可靠消息最终一致性 分布式事务 - TCC 分布式事务 - 2PC、3PC),但是还没有实战过。那么本篇我们就来演示下如何在 .NET 环境下实现一个基于可靠消息的分布式事务。基于可靠消息的分布式事务流程上还是比较清晰明了的,但是要用代码去一个个实现还是比较费事的。 阅读全文
摘要:
前面我们讲了分布式事务的2PC、3PC , TCC 的原理。这些事务其实都在尽力的模拟数据库的事务,我们可以简单的认为他们是一个同步行的事务。特别是 2PC,3PC 他们完全利用数据库的事务能力,在一阶段开始事务后不进提交会严重影响应用程序的并发性能。TCC 一阶段虽然不会阻塞数据库,但是它同样是在 阅读全文
摘要:
上一次我们讲解了分布式事务的 2PC、3PC 。那么这次我们来理一下 TCC 事务。本次还是讲解 TCC 的原理跟 .NET 其实没有关系。 TCC# Try 准备阶段,尝试执行业务 Confirm 完成业务 Cancel 回滚准备阶段的业务 TCC 事务其实是 2PC 的一个扩展。上一次我们说了 阅读全文
摘要:
最近比较忙,好久没更新了。这次我们来聊一聊分布式事务。 在微服务体系下,我们的应用被分割成多个服务,每个服务都配置一个数据库。如果我们的服务划分的不够完美,那么为了完成业务会出现非常多的跨库事务。即使按照 DDD 的原则来切分服务还是免不了有的业务场景需要多个业务同时提交成功或者同时回滚的场景。比如 阅读全文
摘要:
在我们实施微服务之后,服务间的调用变的异常频繁。多个服务之间可能是互相依赖的关系。某个服务出现故障或者是服务间的网络出现故障都会造成服务调用的失败,进而影响到某个业务服务处理失败。某一个服务调用失败轻则造成当前相关业务无法处理;重则可能耗尽资源而拉垮整个应用。为了尽可能的保证我们生产环境的可用性,至 阅读全文
摘要:
上一次我们介绍了Elastic APM组件。这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大,还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件,那么干脆继续使用 Consul 来作为配 阅读全文
摘要:
上一次我们介绍了Seq日志聚合组件。这次要给大家介绍的是Elastic APM ,一款应用程序性能监控组件。APM 监控围绕对应用、服务、容器的健康监控,对接口的调用链、性能进行监控。在我们实施微服务后,由于复杂的业务逻辑,服务之间的调用会像蜘蛛网一样复杂。有了调用链监控后服务之间的调用可以用图像的 阅读全文
摘要:
上一次我们介绍并演示了如果使用 Consul 做为我们微服务的注册中心,来实现服务的注册与发现。那么本次我们讲会演示如何做日志聚合。日志聚合比较常用的有 ELK 等,但是这次我想要介绍的是一款比较小众的日志聚合工具 - Seq 。 日志聚合# 日志是我们写程序离不开的一个东西。在我们排查问题的时候日 阅读全文
摘要:
上一次我们介绍了 Ocelot 网关的基本用法。这次我们开始介绍服务注册发现组件 Consul 的简单使用方法。 服务注册发现# 首先先让我们回顾下服务注册发现的概念。 在实施微服务之后,我们的调用都变成了服务间的调用。服务间调用需要知道IP、端口等信息。再没有微服务之前,我们的调用信息一般都是写死 阅读全文
摘要:
上一次我们通过一张架构图(.Net Core with 微服务 - 架构图)来讲述了微服务的结构,分层等内容。从现在开始我们开始慢慢搭建一个最简单的微服务架构。这次我们先用几个简单的 web api 项目以及 ocelot 网关项目来演示下网关是如何配置,如何工作的。 Ocelot 网关# Ocel 阅读全文
摘要:
上一次我们简单介绍了什么是微服务(.NET Core with 微服务 - 什么是微服务 )。介绍了微服务的来龙去脉,一些基础性的概念。有大佬在评论区指出说这根本不是微服务。由于本人的能力有限,大概也只能理解到这个层次。先不管它到底是不是微服务吧,既然开篇了,那就硬着头皮把这个系列写完。我想不管是对 阅读全文
摘要:
微服务是这几年最流行的架构,说起架构不提微服务都不好意思跟人家打招呼。最近想要再梳理一下关于微服务的知识,并且结合本人的一些实践经验来做一些总结与分享。前面会分享一些概念性的东西,后面也会使用.net来实践,一步步完成一个简单的微服务架构的小demo。 什么是微服务# 其实微服务并没有统一的标准定义 阅读全文
摘要:
.NET Core with 微服务 - 什么是微服务 .Net Core with 微服务 - 架构图 .Net Core with 微服务 - Ocelot 网关 .Net Core with 微服务 - Consul 注册中心 .Net Core with 微服务 - Seq 日志聚合 .Ne 阅读全文