高可用高伸缩微服务架构基于Dubbo、Spring Cloud和Service Mesh

高可用高伸缩微服务架构基于Dubbo、Spring Cloud和Service Mesh

  • 1. 架构基础知识
  • 2.领域驱动设计
  • 3.微服务稳定性保证的常用手段
  • 4. 微服务下保证事务一致性
  • 5. 关
  • 6. 服务编排
  • 7. 微服务数据抽取于统计

非常推荐,
如果是增加理论知识和架构师谈资十分推荐阅读,
如果是想看看Java世界有多大十分推荐.

架构是理论,框架是实现.
库是工具箱,
框架是一套通用的解决方案.
架构是高度抽象的需求,是系统中不变的变量.
平台是所有可能做的事的集合.

单体架构: 整个系统的所有功能单元整体部署到同一个进程(所有代码可以打包一个或多个文件)
分布式架构: 整个系统的功能单元分散到不同进程, 然后由多个进程共同提供不同的业务能力.

前后的分离: 分为逻辑分离和物理分离。逻辑分离是同在一个jar或者war包下面, 部署在Tomcat下面, 开发的时候前端代码和后端代码都在一个项目下面. 物理分离首先的代码分离, 前端有前端的项目, 后端有后端的项目, 部署的时候一般前端放到Nginx下面,后端使用jar或者war形式发布.

3.微服务稳定性保证的常用手段

  1. 限流:计数器算法、漏洞算法、令牌桶算法
  2. 断路器:Hystrix,Sentinel
  3. 阿姆达定律:在并行计算中用多处理器的应用加速受限于程序所需的串行时间百分比。
  4. 局部性原理:时间局部性,空间局部性。
  5. 消息队列
  6. 缓存:缓存穿透、缓存雪崩、热点缓存

4. 微服务下保证事务一致性

  1. CAP原则:Consistency(一致性)、Availability(可用性)、Partition-tolerance(分区容错性)
  2. BASE理论:Basically Available(基本可用)、Soft-state(软状态)、Eventually Consistent(最终一致性)
  3. 二阶段提交协议:第一阶段准备、第二阶段提交。
  4. 三阶段提交协议:第一阶段预备、第二阶段准备、第三阶段提交。
  5. TCC: Try、Confirm、Cancel
  6. 补偿模式、消息队列

文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树首页概览92895 人正在系统学习中

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2021年3月9日
下一篇 2021年3月9日

相关推荐