首页 > 其他 > 详细

11.DDD与微服务设计模式笔记

时间:2020-03-29 09:15:12      阅读:83      评论:0      收藏:0      [点我收藏+]

---------------------------------------------------------------------------------

单体架构到位服务

软件生命周期与架构演化

 技术分享图片

 

 

 

 

微服务立方体

 技术分享图片

 

 

 

最好的架构是演化过来

 

微服务拆分示例——典型电商系统的架构演化

 技术分享图片

 

 

 

微服务横向扩展划分——共享核心功能模式

 技术分享图片

 

 

 

 

微服务数据分区

 技术分享图片

 

 

 

 

---------------------------------------------------------------------------------------

如何设计一个为服务系统

微服务系统的优缺点

优点

缺点

更为敏捷

整个系统更加复杂

更小,更专注的团队

开发和测试面临更多挑战

更小的codebase

分布式带来管控难题

自由选择不同的技术栈

网络瓶颈和延迟

问题隔离

数据一致性

扩展性/扩容容易

管理文化挑战

数据隔离

多服务版本对齐控制

 

技术能力要求高

 

微服务设计示例:Boat House无人机送餐系统

 

 

S1-领域模型Domain Model设计

 技术分享图片

 

 

S3 单一领域结构分析(Shipping Domain)

 技术分享图片

技术分享图片

 

 

 

s4——单一领域流程f分析(Shipping Domain)

 技术分享图片

 

 

S5——应用服务边界和条用关系设计

技术分享图片

 

 

 

 S7应用服务部署设计

 技术分享图片

 

 

 S8服务见通讯机制设计

 技术分享图片

 

 S9.CI/CD流水线设计

 技术分享图片

 

 

 

--------------------------------------------------------------------------------------

12要素法制(Software as a Service设计准则/Cloud Native应用设计准则

基准代码:一份基准代码,多分部署(快速交付:合理划分边界,良好的软件生命周期管理)

依赖:显式声明依赖关系(提升开发效率:标准化,排除意外风险)

配置:在环境存储配置(软件发布管理:将配置转为环境变量)

后端服务:吧后端服务当作附加资源(弹性/敏捷:使用断路器,松散绑定)

构建、发布、运行:严格分离构建和运行(软件发布管理:通过流水线实现CI/CD自动化)

进程:以一个火多个无状态进程运行应用(云兼容性:将状态管理交给后端服务)

端口绑定:通过端口绑定提供服务(运营效率:应用服务只需要知道url地址与对应端口)

并发:通过进程模型进行扩展(自动弹性伸缩:转为云台设计,使用PCF的功)

易处理:快速启动和优雅终止可最大化健壮性(自动弹性伸缩:将缓慢的进程转变为后端服务)

开发环境与线上环境等价:尽可能的保持开发、预发布,线上环境相同(可靠性:凭借云平台,获得等价性)

日志:把日志当作事件流(实时系统指标:日志管理系统)

管理进程:后台管理任务当作一次性进程运行(可靠性:转变为后端服务,并暴露为REST接口)

11.DDD与微服务设计模式笔记

原文:https://www.cnblogs.com/aixiaoxiaoyu/p/12590422.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!