写点什么

架构师训练营第 10 周——练习

用户头像
李伟
关注
发布于: 2020 年 08 月 12 日
架构师训练营第 10周——练习

根据微服务框架 Dubbo 的架构图,画出 Dubbo 进行一次微服务调用的时序图。

关于微服务架构(中台架构、领域驱动设计、组件设计原则),你有什么样的思考和认识?

1、微服务架构产生的原因

  • 个人能力有限,能够掌握的系统内容有限。因此当系统达到一定规模后,不宜管理。为了解决这个问题,才将大的系统进行拆分,便于人来掌握

  • 单台电脑提供的资源有限,为了便于水平伸缩,将系统进行拆分,方便根据需要部署。例如电商系统,对于用户注册模块的性能要求要远低于购物模块,因此可以考虑将购物模块部署多台服务器,注册模块部署少量服务器(能够保证高可用即可)

2、领域驱动设计

既然有了拆分的需求,那如何拆分便成为需要解决的问题。领域驱动设计理论正好适用于微服务的拆分。

3、微服务的主要模块

  • 网关

  • 服务注册发现

  • 配置中心

  • 熔断限流

  • 实时监控

4、新引入的问题

  • 高可用:以前只需要保证一个程序高可用,现在需要保证各个微服务模块高可用

  • 资源:由于各个微服务模块使用的资源相对较少,可以使用docker来配置

  • 通信:各个微服务模块之间网络通信属于新增开销,需要优化以提升性能

  • 随着微服务模块数量的增加,例如为了保证高可用,一个微服务至少部署2次,配置、管理和监控已经超出人的能力范畴,因此需要引入自动化的配置管理和实时监控工具

  • 由于微服务模块数量众多,即可能发生故障的点很多,因此需要提供熔断措施,防止因为单个模块的故障,影响整体服务。



用户头像

李伟

关注

还未添加个人签名 2018.05.07 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第 10周——练习