Building Microservices

ref: 微服务设计

微服务:是一种分布式系统解决方案,推动细粒度服务的使用,这些服务协同工作,且每个服务都有自己的生命周期,因为微服务主要围绕业务领域建模,所以避免了由传统的分层架构引发的很多问题。

Ch1 微服务

1.1 定义

定义:微服务就是一些协同工作的小而自治的服务。

特点 含义
很小 专注于做好一件事情
自治性 可以彼此独立进行修改,并且某一个服务的部署不应该引起该服务消费方的表动

1.2 优点

特点 含义
1. 技术异构性 可以在不同的服务中使用最适合该服务的技术
2. 弹性 如果系统中的一个组件不可用了,但并没有导致级联故障,那么系统的其他部分还可以正常运行
3. 扩展 可以只对需要扩展的服务进行扩展,这样就可以吧那些不需要扩展的服务运行在更小的、性能稍差的硬件上
4. 简化部署 在微服务架构中,各个服务的部署是独立的,这样就可以更快的对特定部分的代码进行部署
5. 与组织结构相匹配 可以很好地将技术架构与组织架构相匹配,避免出现过大的代码库,从而获得理想的团队大小及生产力。
6. 可组织性 易于重用已有的功能
7. 对可替代性的优化 重新实现某一个服务或者时直接删除该服务都是相对可操作的

1.3 面向服务的架构

SOA, Service-Oriented Architecture 是一种设计方法,其中包好多个服务,而服务之间通过配合最终会提供一系列功能。一个服务通常以独立的形式存在于操作系统中。服务之间通过网络调用,而非采用进程内调用的方式进行通信。

微服务架构师SOA的一种特定方法。

Ch2 演化试架构师

规则对于智者来说指导,对于愚蠢者来说是遵从。

Ch4 集成

Ch5 分解单块系统

5.11 重构数据库

5.12 事物边界

Ch6 部署

6.1 持续集成

Ch7 测试

Ch8 监控

Ch9 安全

Ch10 康威定律和系统设计

任何组织在设计一套系统(广义概念上的系统)时,所交付的设计方案在结构上都与该组织的沟通结构保持一致

Ch11 规模化微服务

Ch12 总结

微服务的原则

  1. 围绕业务概念建模
  2. 接受自动化文化
  3. 隐藏内部实现细节
  4. 让一切都去中心化
  5. 可独立部署
  6. 隔离失败
  7. 高度可观察

你可能感兴趣的:(Building Microservices)