摘要: JWT(JSON Web Token)是目前最流行的认证方案之一。博客园、各种技术公众号隔三差五就会推一篇JWT相关的文章,真的多如牛毛。但我对JWT有点困惑,今天写出来跟大家探讨探讨,不要喷哈。 JWT原理 本文默认读者已经对JWT有所了解,下面不再详细介绍JWT,只简单提一下。 JWT全称JSO 阅读全文
posted @ 2020-08-30 23:52 Agile.Zhou 阅读(5259) 评论(94) 推荐(28) 编辑
摘要: 微服务确实是行业的一个趋势,我自己也在把一些项目往微服务架构迁移。玩微服务架构配置中心是一个绕不过去的东西,有很多大牌的可以选,比如spring-cloud-config,apoll,disconf等等。而我为什么还要造一个轮子呢?一来这些都不是.net实现的,我就想试试用.net core实现一个 阅读全文
posted @ 2020-06-29 16:02 Agile.Zhou 阅读(5488) 评论(79) 推荐(55) 编辑
摘要: 最近Blazor热度很高,传说马上就要发布正式版了,做为微软脑残粉,赶紧也来凑个热闹,学习一下。 阅读全文
posted @ 2020-05-09 00:18 Agile.Zhou 阅读(7112) 评论(13) 推荐(20) 编辑
摘要: 2020年新年将至,先预祝.Net Core越来越好。 做了这么多年一线开发,经常跟Http打交道。比如调用三方的Webservice,比如集成微信支付的时候服务端发起Prepay支付。特别是现在分布式、微服务大行其道,服务间通讯都离不开http调用。 多年前也造过几个http client的小轮子 阅读全文
posted @ 2020-01-13 01:15 Agile.Zhou 阅读(1651) 评论(9) 推荐(24) 编辑
摘要: AServer是基于ASP.NET Core Kestrel封装的一个超迷你http服务器。它可以集成进你的Core程序里,用来快速的响应Http请求,而不需要集成整个ASP.NET Core MVC 框架。 一:什么是ASever? AServer就像它的名字一样,Just a server,它的 阅读全文
posted @ 2018-10-22 09:54 Agile.Zhou 阅读(4025) 评论(3) 推荐(9) 编辑
摘要: 当我们开发一款App的时候,App需要跟后台服务进行通信获取或者提交数据。如果我们没有完善的安全机制则很容易被别用心的人伪造请求而篡改数据。 所以我们需要使用某种安全机制来保证请求的合法。现在最常用的办法是给每个http请求添加一个签名,服务端来验证签名的合法性,如果签名合法则执行响应的操作,如果签 阅读全文
posted @ 2016-09-22 01:23 Agile.Zhou 阅读(12916) 评论(69) 推荐(26) 编辑
摘要: .Net Core 1.0终于发布了,Core的一大卖点就是跨平台。这个跨平台不只是跨平台运行,而且可以跨平台开发。今天抽空研究了下在Mac下如何使用VS Code来开发.NET Core程序,并且调试代码。 1.安装.NET Core 在mac上打开终端: ~$ brew update ~$ br 阅读全文
posted @ 2016-07-08 01:40 Agile.Zhou 阅读(19558) 评论(11) 推荐(8) 编辑
摘要: 一:Helios是什么 Helios是一套高性能的Socket通信中间件,使用C#编写。Helios的开发受到Netty的启发,使用非阻塞的事件驱动模型架构来实现高并发高吞吐量。Helios为我们大大的简化了Socket编程,它已经为我们处理好了高并发情况下的解包,粘包,buffer管理等等。 Gi 阅读全文
posted @ 2016-01-14 02:17 Agile.Zhou 阅读(12930) 评论(75) 推荐(61) 编辑
摘要: 从Unity到Spring.Net,到Ninject,几年来陆陆续续用过几个IoC框架。虽然会用,但也没有一直仔细的研究过IoC实现的过程。最近花了点时间,下了Ninject的源码,研究了一番,颇有收获。下面我要实现一个最最简单的IoC容器,以让跟我一样的小菜能更好的理解IoC框架的到底为我们做了什 阅读全文
posted @ 2013-10-29 23:46 Agile.Zhou 阅读(4834) 评论(8) 推荐(12) 编辑
摘要: 前面对于分布式事务也讲了好几篇了(可靠消息最终一致性 分布式事务 - TCC 分布式事务 - 2PC、3PC),但是还没有实战过。那么本篇我们就来演示下如何在 .NET 环境下实现一个基于可靠消息的分布式事务。基于可靠消息的分布式事务流程上还是比较清晰明了的,但是要用代码去一个个实现还是比较费事的。 阅读全文
posted @ 2021-10-14 01:23 Agile.Zhou 阅读(1126) 评论(16) 推荐(11) 编辑
摘要: 前面我们讲了分布式事务的2PC、3PC , TCC 的原理。这些事务其实都在尽力的模拟数据库的事务,我们可以简单的认为他们是一个同步行的事务。特别是 2PC,3PC 他们完全利用数据库的事务能力,在一阶段开始事务后不进提交会严重影响应用程序的并发性能。TCC 一阶段虽然不会阻塞数据库,但是它同样是在 阅读全文
posted @ 2021-09-23 01:35 Agile.Zhou 阅读(4615) 评论(5) 推荐(12) 编辑
摘要: 加入 NCC 先说一个事,AgileConfig 在 7 月底终于通过了 NCC 社区的审核,正式成为了 NCC 大家庭的一员。这对 AgileConfig 来说是一个里程碑,希望加入 NCC 后能更好的帮助到大家。同时责任也更大了,本人会一如既往的对这个项目维护下去,感谢支持。 release-1 阅读全文
posted @ 2021-09-13 13:54 Agile.Zhou 阅读(1023) 评论(14) 推荐(15) 编辑
摘要: 现在几乎所有语言都提供包管理工具,比如 JavaScript 的 npm ,Java 的 Maven ,Dart 的 pub 。.Net 程序当然是 NuGet 。NuGet 也出现很多年了,奇怪的是居然还有很多人不知道。 现在软件结构越来越复杂,在多个项目中往往需要共享一些库、组件等等。NuGet 阅读全文
posted @ 2021-09-07 00:01 Agile.Zhou 阅读(509) 评论(13) 推荐(11) 编辑
摘要: 上一次我们讲解了分布式事务的 2PC、3PC 。那么这次我们来理一下 TCC 事务。本次还是讲解 TCC 的原理跟 .NET 其实没有关系。 TCC Try 准备阶段,尝试执行业务 Confirm 完成业务 Cancel 回滚准备阶段的业务 TCC 事务其实是 2PC 的一个扩展。上一次我们说了 2 阅读全文
posted @ 2021-08-25 10:07 Agile.Zhou 阅读(1864) 评论(13) 推荐(12) 编辑
摘要: 最近比较忙,好久没更新了。这次我们来聊一聊分布式事务。 在微服务体系下,我们的应用被分割成多个服务,每个服务都配置一个数据库。如果我们的服务划分的不够完美,那么为了完成业务会出现非常多的跨库事务。即使按照 DDD 的原则来切分服务还是免不了有的业务场景需要多个业务同时提交成功或者同时回滚的场景。比如 阅读全文
posted @ 2021-08-13 16:42 Agile.Zhou 阅读(902) 评论(8) 推荐(8) 编辑
摘要: 最近因为公司的一些原因,我也开始学习一些 JAVA 的知识。虽然我一直是以 .NET 语言为主的程序员,但是我并不排斥任何其它语言。在此并不讨论 JAVA .NET 的好坏,仅仅是对 .NET 跟 JAVA 程序的编译执行过程进行一些简单的介绍跟比较。因为有些内容还是超出自己原来的认知的,所以整理一 阅读全文
posted @ 2021-07-28 23:52 Agile.Zhou 阅读(2410) 评论(37) 推荐(18) 编辑
摘要: 在我们实施微服务之后,服务间的调用变的异常频繁。多个服务之间可能是互相依赖的关系。某个服务出现故障或者是服务间的网络出现故障都会造成服务调用的失败,进而影响到某个业务服务处理失败。某一个服务调用失败轻则造成当前相关业务无法处理;重则可能耗尽资源而拉垮整个应用。为了尽可能的保证我们生产环境的可用性,至 阅读全文
posted @ 2021-07-23 08:49 Agile.Zhou 阅读(1754) 评论(7) 推荐(16) 编辑
摘要: 上一次我们介绍了Elastic APM组件。这一次我们继续介绍微服务相关组件配置中心的使用方法。本来打算介绍下携程开源的重型配置中心框架 apollo 但是体系实在是太过于庞大,还是让我爱不起来。因为前面我们已经介绍了使用Consul 做为服务注册发现的组件,那么干脆继续使用 Consul 来作为配 阅读全文
posted @ 2021-07-09 09:32 Agile.Zhou 阅读(2340) 评论(9) 推荐(8) 编辑
摘要: 上一次我们介绍了Seq日志聚合组件。这次要给大家介绍的是Elastic APM ,一款应用程序性能监控组件。APM 监控围绕对应用、服务、容器的健康监控,对接口的调用链、性能进行监控。在我们实施微服务后,由于复杂的业务逻辑,服务之间的调用会像蜘蛛网一样复杂。有了调用链监控后服务之间的调用可以用图像的 阅读全文
posted @ 2021-06-29 15:16 Agile.Zhou 阅读(4454) 评论(14) 推荐(20) 编辑