博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
11.DDD与微服务设计模式笔记
阅读量:2242 次
发布时间:2019-05-09

本文共 1175 字,大约阅读时间需要 3 分钟。

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

单体架构到位服务

软件生命周期与架构演化

 

 

 

 

 

微服务立方体

 

 

 

 

最好的架构是演化过来

 

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

 

 

 

 

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

 

 

 

 

 

微服务数据分区

 

 

 

 

 

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

如何设计一个为服务系统

微服务系统的优缺点

优点

缺点

更为敏捷

整个系统更加复杂

更小,更专注的团队

开发和测试面临更多挑战

更小的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接口)

转载地址:http://gcwdb.baihongyu.com/

你可能感兴趣的文章
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>
什么是 Dropout
查看>>
用 LSTM 做时间序列预测的一个小例子
查看>>
用 LSTM 来做一个分类小问题
查看>>
详解 LSTM
查看>>
按时间轴简述九大卷积神经网络
查看>>
详解循环神经网络(Recurrent Neural Network)
查看>>
为什么要用交叉验证
查看>>
用学习曲线 learning curve 来判别过拟合问题
查看>>
用验证曲线 validation curve 选择超参数
查看>>
用 Grid Search 对 SVM 进行调参
查看>>
用 Pipeline 将训练集参数重复应用到测试集
查看>>
PCA 的数学原理和可视化效果
查看>>
机器学习中常用评估指标汇总
查看>>
什么是 ROC AUC
查看>>
Bagging 简述
查看>>
详解 Stacking 的 python 实现
查看>>
简述极大似然估计
查看>>