写点什么

架构师训练营 - 作业 - 第十周

用户头像
心在飞
关注
发布于: 2020 年 08 月 12 日

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

Dubbo 微服务调用过程:

  1. 服务提供者程序启动服务,向服务注册中心注册它(服务提供者)提供的服务。

  2. 服务消费者程序通过服务接口调用,访问接口访问代理,然后传入到服务框架客户端

  3. 服务框架客户端查找服务提供者列表,如果服务提供者列表中没有,那么框架就会到服务注册中心去查找,注册中心返回服务提供者服务器列表。

  4. 服务框架客户端根据负载均衡策略,从服务提供者列表中根据算法选择一台。

  5. 服务框架客户端与远程服务提供器建立远程通信。

  6. 服务提供者查找所调用的服务,处理、计算结果并返回。



时序图:

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

微服务:传统的单体应用存在很多问题,把单体应用功能做横向或纵向的切分,部署为可独立运行的微服务,使得业务复用、开发边界清晰、分布式集群性能提升。但同时微服务也会引入新的问题,调用关系复杂、服务间通信、服务治理、服务维护和发布等也越来越棘手,docker 和 k8s 应运而生,解决了大部分问题。



中台架构:微服务的进化,确切的说它应该是一种思想方法。其思想是提炼各个子系统微服务的公共服务、技术中间件,形成一个业务中台。使得新业务依赖于中台的服务、技术组件进行快速开发、定制,实现业务重用及数据共享。中台架构与微服务架构不同,微服务致力于将业务系统进行拆分,而中台架构则致力于将服务聚合



领域驱动设计:是一种基于领域(业务)的软件设计方法,DDD 提出了领域模型的概念,统一了分析设计编程,使得软件能够更灵活快速地跟随需求的变化。

DDD 更强调的是“业务域”,强调对业务规则、业务边界、职责、业务术语的梳理和理解DDD 战略设计,领域建模),然后再进行技术框架选型与落地方案验证、任务分解与持续重构(DDD 战术设计,样例代码)。



组件设计原则:从技术上指导软件开发和设计,提高软件质量,它更侧重于“技术域”。

主要核心理念为“高内聚,低耦合”,"SOLID", 对扩展开放,对修改关闭,为软件组件的设计与实现提供指导方向。

参考链接

https://xie.infoq.cn/article/798fd13278d0632300b012a98

https://xie.infoq.cn/article/a1bd166cf63f45affda7a4ba7

https://xie.infoq.cn/article/4a9f358df51112891de214fd2

https://xie.infoq.cn/article/1794d29e2a912089d986e13d7

https://xie.infoq.cn/article/5d26c61e669424d970a4a0cf1

https://xie.infoq.cn/article/99abf5677b692f2845c9d1a37

https://www.zhihu.com/topic/19826540/hot



用户头像

心在飞

关注

还未添加个人签名 2017.10.15 加入

2个女儿的爸爸 | 程序员 | CS 反恐精英

评论

发布
暂无评论
架构师训练营 - 作业 - 第十周