【读书笔记】微服务架构设计模式

第一章 逃离单体地狱

1.2.1 单体应用缺点就是微服务优点
  1. 过度的复杂性
  2. 代码提交到部署周期长
  3. 难以扩展
  4. 缺乏故障隔离
  5. 难以迁移技术栈
1.2.2 企业应用架构设计基础知识
  1. 三层架构
  2. web应用程序设计
  3. 使用面向对象设计开发业务逻辑
  4. 关系型数据库:SQL和ACID事务的概念
  5. 使用消息代理和REST API进行进程间通信
  6. 安全,包括身份验证和访问授权
1.3.1 通过本书,可以掌握知识
  1. 什么时候使用微服务架构
  2. 分布式数据管理的架构模式
  3. 微服务架构应用的测试策略
  4. 微服务架构应用的部署方式
  5. 如何重构单体服务为微服务
1.3.2 通过本书,可以掌握技术
  1. 用微服务方式设计业务服务
  2. 微服务开发业务逻辑
  3. 使用saga在进程间维护数据一致性
  4. 实现跨服务的数据查询
  5. 更高效的测试微服务架构程序
  6. 微服务架构程序的安全、可配置、可观测
1.4.1 定义微服务X_Y_Z
  1. X: 多个实例间负载均衡(水平扩展)
  2. Y: 根据功能拆分(垂直切分、分库分表)
  3. Z:根据请求路由(分片 、水平切分)
1.6.2 模式包括
  1. 需求 forces
  2. 结果上下文 result context
  3. 相关模式 relate pattern
功能相关模式
服务拆分 2根据业务能力/ 子域
通信 3进程间通信机制、服务发现、外部API:客户端与服务端通信方式
可靠性:服务不可用时,如何保证服务间正常通信
事务消息:将消息发送、事件发布等与更新业务数据的数据库操作集成
事务管理的数据一致性 4-62PC, Saga
查询数据 7API组合模式、CQRS
部署方式传统包部署,虚拟机,serverless平台
自动化测试 9-10消费端驱动、服务组件测试
可观测模式 11健康检查API、分布式追踪唯一ID、日志聚合、异常跟踪,指标、审计日志
解决基础设施和边界相关 11基底模式处理基建相关,如可观测、服务发现、外部配置
安全相关 11访问令牌模式

第三章 微服务进程间通信

3.1.1 交互方式
一对一一对多
同步请求/响应-
异步异步请求/响应、单向通知发布/订阅、发布/异步响应
3.1.3 API 设计
MAJOR, MINOR, PATCH三部分构成version
前向兼容:增加optional请求、响应参数
不兼容:version控制版本
3.1.4 消息格式
文本:自解释;XML,Json
二进制:IDL;Thrift,Protobuf,Avor

3.2 基于同步远程调用的通信

  1. REST API设计
    定义资源
    将操作映射为HTTP操作
3.2.3 断路器模式处理局部故障
  1. 开发鲁棒的远程调用代理
    网络超时
    限制客户端向服务端请求数量
    断路器模式
  2. 从服务失效故障恢复: 返回缓存/错误
3.2.4 使用服务发现
  1. 应用层 服务注册表
  2. 平台层 DNS+VIP+VIP 名字

3.3 基于异步远程调用的通信

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值