[关闭]
@spiritnotes 2016-07-03T14:18:28.000000Z 字数 1237 阅读 1577

《微服务设计》

读书笔记 软件工程 DOING


前言

微服务是分布式解决方案

第1章 微服务

领域驱动设计、持续交互、按需虚拟化、基础设施自动化、小型自治团队、大型集群系统

1.1 什么是微服务

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

在一个单块系统内,通常会创建一些抽象层或者模块来保证代码的内聚性,即单一职责原则。微服务将这个理念应用在独立服务上,根据业务的边界来确定服务的边界。

足够小,而不要过小。服务越小,独立性越小,但是管理大量服务也越复杂。

服务之间均通过网络调用进行通信,从而加强服务之间的隔离性,避免紧耦合。需要考虑什么应该暴露,什么应该隐藏。服务会暴露出API,然后服务之间通过API进行通信。

1.2 主要好处

1.3 面向服务的架构

SOA是一种设计方法,其中包含多个服务,而服务之间通过配合最终会提供一系列功能。

1.4 其他分解技术

第2章 演化式架构师

2.1 不准确的比较

2.2 架构师的演化视角

软件中我们面临大量的需求变更。我们应该设计出一个合理的框架,在这个框架下可以慢慢演化出正确的系统。更接近城市规划师,模块划分。

2.3 分区

考虑不同的服务之间如何交互,或者说保证我们能够对整个系统的健康情况进行监控。

2.4 一个原则性的方法

2.5 要求的标准

2.6 代码治理

2.7 技术债务

理解债务的层次和其对系统的影响非常重要

2.8 例外管理

2.9 集中治理和领导

2.10 建设团队

2.11 小结

第3章 如何构建服务

3.1 MusicCorp简介

3.2 什么样的服务是好服务

专注两个重要概念上:松耦合和高内聚

3.3 限界上下文

每个限界上下文的东西可以分成两部分,一部分不需要与外界通信,一部分需要。

限界上下文:一个由显式边界限定的特定职责。

3.4 业务功能

思考限界上下文时,不应该从共享数据的角度来考虑,而应该从这些上下文能够提供的功能来考虑

3.5 逐步划分上下文

3.6 关于业务概念的沟通

3.7 技术边界

层次边界划分错误,会导致到处都会进行修改

3.8 小结

第4章 集成

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注