第十周 模块分解总结

用户头像
钟杰
关注
发布于: 2020 年 11 月 30 日



一、内容梳理

大型单体应用问题

1.编译、部署困难

2.代码分支管理困难

3.数据库连接耗尽

4.新增业务困难

微服务架构

微服务框架要求

1.失效转移

2.负载均衡

3.高效的远程通信

4.对应用最少侵入

5.版本管理

微服务框架架构(Dubbo)

ServerMesh服务网格



微服务架构落地

落地原则

• 业务先行,先理顺业务边界和依赖,技术是手段而不是目的。

• 先有独立的模块,后有分布式的服务。

• 业务耦合严重,逻辑复杂多变的系统进行微服务重构要谨慎。

• 要搞清楚实施微服务的目的是什么,业务复用?开发边界清晰?分布式集群提升性能

相关概念

命令与查询职责分离(CQRS)

事件溯源

断路器

服务重试及调用超时

微服务网关

基于网关的微服务架构



网关作用

微服务网关

网关管道技术





异步网关和异步微服务框架实现(Flower)



开放平台网关

开放授权协议OAuth2.0

领域驱动设计DDD

DDD战略设计

领域

子域

界限上下文

上下文映射图

DDD战术设计

实体

值对象

聚合

CQRS

事件溯源

组件设计原则

组件内聚原则

复用发布等同原则

共同封闭原则

共同复用原则

组件耦合原则

无循环依赖原则

稳定依赖原则

稳定抽象原则

二、收获和体会

对微服务架构、微服务架构落地注意的问题、微服务网关、DDD领域驱动设计、组件设计有了系统的认识。微服务的落地的前提一定是要搞清楚业务,理清业务边界。

三、思考

1.微服务解决了大型单体应用的问题,单同时带来了服务治理和管理的问题。

2.应用规模不大建议不要使用微服务框架,单体应用就足够。

3.理清业务才是实现微服务前提,技术和框架只是实现微服务框架的支撑。

四、后续计划

对开源的微服务框架进行系统分析,在实际项目中实践微服务



用户头像

钟杰

关注

还未添加个人签名 2019.02.12 加入

还未添加个人简介

评论

发布
暂无评论
第十周 模块分解总结