摘要: [TOC] 什么是微服务模式 随着网络基础设施的高速发展,以及越来越多的个体接入互联网,在考虑构建支持海量请求以及多变业务的软件平台时,微服务架构成为多数人的首选。微服务架构的出现时服务事物发展规律的:当问题足够大,有足够多的的不确定因素时,人们习惯于把大的问题拆分成小的问题。通过分割,抽象和重用小 阅读全文
posted @ 2020-04-05 17:55 XuMinzhe 阅读(6575) 评论(0) 推荐(4) 编辑
摘要: 在很多系统中,都存在着租户的概念。更具需求的不同,系统可以分为3种类型 方式一:每个租户有独立的服务和独立的数据库 方式二:每个租户有共享的服务和独立的数据库 方式三:每个租户有共享的服务和共享的数据库 方式1和方式3和我们日常的应用并无不同。但方式二的实现就需要做些改动了 这里我参考了一个主从分离 阅读全文
posted @ 2019-09-29 15:34 XuMinzhe 阅读(3742) 评论(0) 推荐(0) 编辑
摘要: [TOC] CPU缓存的由来 我们知道CPU的处理能力要远比内存强,主内存执行一次内存读、写操作的时间可能足够处理器执行上百条的指令。为了弥补处理器与内存处理能力之间的鸿沟,在内存和处理器之间引入了高速缓存(Cache)。高速缓存是一种存取速率远比主内存大而容量远比主内存小的存储部件,每个处理器都有 阅读全文
posted @ 2019-08-27 14:15 XuMinzhe 阅读(4644) 评论(3) 推荐(4) 编辑
摘要: 果然好记性不如烂笔头,再简单的东西不记录下来总是会忘的! 本文首先会分析eureka中的缓存架构。并在此基础上优化服务之间的感知 [TOC] Eureka Client获取注册信息 eureka client获取注册信息可分为两种,分别是全量获取和增量获取。 Eureka Client 启动时,首先 阅读全文
posted @ 2019-08-15 21:49 XuMinzhe 阅读(1747) 评论(0) 推荐(3) 编辑
摘要: [TOC] Spring Boot有个子项目Spring Boot Actuator,它为应用提供了强大的监控能力。从Spring Boot 2.0开始,Actuator将底层改为Micrometer,提供了更强、更灵活的监控能力。本次便利用Micrometer搭建出一套可视化的监控体系。 Micr 阅读全文
posted @ 2019-07-19 15:20 XuMinzhe 阅读(9532) 评论(0) 推荐(0) 编辑
摘要: 上文我们阐述了Netty的Reactor模型。在Reactor模型的第二阶段,Netty会处理各种io事件。对于客户端的各种请求就是在这个阶段去处理的。本文便来分析一个新的连接是如何被处理的。 代码的入口就从read方法开始。这里的unsafe的类型是NioMessageUnsafe,在服务端启动时 阅读全文
posted @ 2019-05-13 15:30 XuMinzhe 阅读(452) 评论(0) 推荐(0) 编辑
摘要: 翻阅源码时,我们会发现netty中很多方法的调用都是通过线程池的方式进行异步的调用, 这种 eventLoop.execute 方式的调用,实际上便是reactor线程。对应项目中使用广泛的NioEventLoop。还记得我们创建的两个reactor线程池么,具体代码可以参考 Netty源码 服务端 阅读全文
posted @ 2019-05-09 16:55 XuMinzhe 阅读(542) 评论(0) 推荐(0) 编辑
摘要: Spring Cloud Gateway 是 Spring Cloud 的一个全新项目,该项目是基于 Spring 5.0,Spring Boot 2.0 和 Project Reactor 等技术开发的网关,它旨在为微服务架构提供一种简单有效的统一的 API 路由管理方式。Spring Cloud 阅读全文
posted @ 2019-04-25 15:51 XuMinzhe 阅读(32441) 评论(0) 推荐(1) 编辑
摘要: 上文我们分析了fescar的一阶段执行过程。在一阶段中,服务起始方发起全局事务并注册到TC。在调用协同服务时,协同服务的事务分支事务会先完成阶段一的事务提交或回滚,并生成事务回滚的undo_log日志,同时上报其事务状态。出现任何异常都会通知TC,TC会通知各个一阶段已提交的事物通过undo_log 阅读全文
posted @ 2019-04-22 11:45 XuMinzhe 阅读(1445) 评论(0) 推荐(1) 编辑
摘要: Fescar是阿里18年开源的分布式事务的框架。Fescar的开源对分布式事务框架领域影响很大。作为开源大户,Fescar来自阿里的GTS,经历了好几次双十一的考验,一经开源便颇受关注。今天就来看了Fescar的代码,看看到底是怎么一回事。 Fescar与XA两阶段提交 在XA协议中分为两阶段: 第 阅读全文
posted @ 2019-04-18 22:09 XuMinzhe 阅读(4019) 评论(0) 推荐(1) 编辑