Atitit 微服务之道 attilax著 1. 什么是微服务架构? 1 1.1. 、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现 2 1.2. 微服务与康威定律 2 1

Atitit 微服务之道 attilax

1. 什么是微服务架构? 1

1.1. 、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现 2

1.2. 微服务与康威定律 2

1.3. 微服务的一些设计 断路器 幂等  版本管理 3

1.4. 章 康威定律和系统设计 161 3

2. 架构的历史 微服务发展历史 Websoamsa 4

3. 微服务的优点 4

3.1. 微服务最大特点 独立部署 4

3.2. 性能负担 5

3.3. 增强稳定性,独立部署 5

3.4. 协调人力资源,使用不同的擅长的技术来实现不同的模块 5

3.5. 拆分,有利于开发人员项目规模的轻量化,提升开发速度 5

4. 微服务的接口 cli rest接口 5

5. 如何实施微服务 5

5.1. 章 分解单块系统 66 6

6. 其他 6

6.1. 2 章 演化式架构师 11 7

6.2. 章 集成 32   与第三方软件集成 6 7

6.3. 11章 微服务与持续交付 ............ 131 7

7. 参考资料 8

7.1. ATITIT 三种架构 集中,分布式,微服务架构.docx 9

7.2. 《微服务设计》([] 纽曼(Sam Newman) 9

7.3. 从源头入手,一分钟秒懂为什么要搞微服务架构? - 推酷.mhtml 9

7.4. 微服务实战(一):微服务架构的优势与不足_知识库_博客园.html 9

7.5. 微服务设计-读书笔记 - 简书.html 9

7.6. 微服务与康威定律 - 推酷.html 9

7.7. Atitit 提示稳定性 ---------msa微服务部署计算页码服务 v1.1 .docx 9

7.8. 微服务架构与实践 9

 

 

1. 什么是微服务架构?

Martin Fowler认为,微服务架构是一种独立部署的软件应用设计方式。这种架构方式没有准确的定义,但是在业务能力、自动部署、端对端的整合、对语言及数据的分散控制上有着共性。Martin Fowler曾在文章中详细阐述了微服务的特征,资深架构师顾伟在分享中总结了其中最重要的三点:轻量可复用、安全可伸缩、失败设计。很多企业在发展中遇到了瓶颈,CIO们纠结如何让企业的架构更有弹性、并节约成本的增加弹性、如何开放服务数据、并规避开放之后的安全问题。而微服务架构正能够满足这些需求。但是,微服务架构也为企业带来一些挑战:微服务的粒度更细,导致了更多的进程;微服务架构整合了多种服务形态,却需要提供统一的接口;开放服务之后,业务量不稳定,增加了CPU和内存的负担。

微服务架构就能够很好地解决这个问题。微服务架构自 2010年开始逐渐被大家熟知,通过对传统单块应用进行服务化切分,把一个大而复杂的问题化解为多个小而简单的问题,服务之间通过契约来约定依赖,做到服务独立发布和演进。今天,微服务架构已经被广泛运用在像 Google、 Facebook这样的大型互联网公司,为他们的快速交付和持续创新提供软件架构支撑。本书中有大量微服务架构实战经验的总结,不仅仅有应用架构设计的内容,还涵盖了微服务大背景下应用测试、发布、日志、监控等方面,让读者可以全面应对微服务架构需求。

 

1.1. 、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现

 

1.2. 微服务与康威定律

Melvin Conway于1968年发表的论文《 How Do Committees Invent 》指出:系统设计的结构必定复制设计该系统的组织的沟通结构。这一论断被称为“康威定律”。在《Exploring the Duality Between Product and Organizational Architectures %201309%E2%80%93%201324_c5c2350e-013c-4065-a2f9-d95eb32177d5.pdf)》一文中,作者发现紧密耦合的组织(例如典型的商业产品公司,所有员工在同一地点工作,具有高度一致的愿景与目标)开发的软件倾向于较少模块化,而松散耦合的组织(例如分布式的开源社区)开发的软件则倾向于更加模块化、耦合较少。

 

1.3. 微服务的一些设计 断路器 幂等  版本管理

 

 

2)断路器
使用断路器,当请求下游服务发生一定数量的失败后,短路器打开,接下来的请求快速失败。一断时间后,查看下游服务是否已服务,重置断路器。
3)舱壁
未每个下游服务建立单独的连接池。超时和断路器资源受限时释放资源,舱壁第一时间确保它不成为限制。还有一个拒绝请求的舱壁,用以避免资源饱和,称之为减载。
4)隔离
当下游服务离线,上游服务不受影响。设置成为服务间隔离。

5、幂等

幂等操作,多次执行所产生的影响,均与一次执行影响相同。可以把某些特定业务操作设计成幂等的,比如客户下单送积分。

 

4、版本管理

1)尽可能推迟破坏性修改
宽进严出的原则
 3)不同的接口版本共存
最好共存两个版本

1.4.  康威定律和系统设计 161

 

 

 

2. 架构的历史 微服务发展历史 Web》soa》msa

 

Websoamsa

 

 

3. 微服务的优点

3.1. 微服务最大特点 独立部署

微服务特点的描述。

大概从以下四个方面来说:

· 根据业务模块划分服务种类。

· 每个服务可以独立部署并且互相隔离。

· 通过轻量的 API 调用服务。

· 服务需要保证良好的高可用性。

 

3.2. 性能负担

3.3. 增强稳定性,独立部署

3.4. 协调人力资源,使用不同的擅长的技术来实现不同的模块

3.5. 拆分,有利于开发人员项目规模的轻量化,提升开发速度

 

4. 微服务的接口 cli 与rest接口

关于轻量 API, 微服务本身是推荐使用轻量的通讯协议和简单的数据结构,实际上,实施环节通常采用的都是 http+json 的方式。

 

5. 如何实施微服务

要搞微服务了,有啥建议么?通过我们不断的摸索和总结,要做好微服务,就要做好一定的准备工作。

从五个具体的方面来谈:

业务拆分,体现在设计环节: 在设计的时候,要有足够的判断力来合理的规划服务之间的界限。

服务治理,底层技术的支持: 首先要选一款适合自己实际情况的分布式服务基础框架,对于服务的发现、治理、熔断、降级,都要做好相应的技术准备。

自动测试,一定要自动化。 微服务一个明显的表象就是随着服务的增多,如果继续沿用传统的测试模式就会遇到瓶颈,为了保证高效的迭代,尽量做到更多的环节实现自动化。

自动运维  微服务拆分之后,每个服务都可以独立部署,进而言之应该是随时随地可以升级。尤其当互联网发展到今天,业务要保持对市场变化的一个高效响应,自动化运维就是提升交付速度的一个重要环节。

监控: 包括硬件环境、服务状态、系统健康度、接口调用情况、异常的实时告警以及潜在问题的事先预警等等。监控在实施微服务过程中会重要到什么程度呢?一句话:没准备好监控,就不要搞微服务。

 

Line 301: 1 章 微服务 1

5.1.  分解单块系统 66

第4 

Line 434: 6 章 部署 86

Line 458: 7 章 测试 110

Line 487: 8 章 监控 131

Line 501: 9 章 安全 143

 

6. 其他

6.1.  2 章 演化式架构师 11

 

Line 341: 3 章 如何建模服务 24

6.2.  集成 32   与第三方软件集成 6

第5 

Line 396: 415 与第三方软件集成 61

6.3.  11章 微服务与持续交付 ............ 131 

 

12章 微

 

第10 

Line 555: 11 章 规模化微服务 171

Line 606: 12 章 总结 204

 

1部分 基础篇

1章 单块架构及其面临的挑战 ............................................. 3

2章 微服务架构综述 .................... 13

2部分 实践篇

3章 构建**个服务 .................... 41

4章 Hello World API .................... 45

5章 构建 Docker映像 ................. 61

6章 部署 Docker映像 ................. 71

7章 持续交付流水线 .................... 85

8章 日志聚合 .............................. 97

9章 监控与告警 ......................... 105

10章 功能迭代 .......................... 115

3部分 进阶篇

 

 

 

 

 

 

 

 

7. 参考资料

7.1. ATITIT 三种架构 集中,分布式,微服务架构.docx

7.2. 《微服务设计》([] 纽曼(Sam Newman) 

7.3. 从源头入手,一分钟秒懂为什么要搞微服务架构? - 推酷.mhtml

7.4. 微服务实战(一):微服务架构的优势与不足_知识库_博客园.html

7.5. 微服务设计-读书笔记 - 简书.html

7.6. 微服务与康威定律 - 推酷.html

7.7. Atitit 提示稳定性 ---------msa微服务部署计算页码服务 v1.1 .docx

7.8. 微服务架构与实践

 

 

你可能感兴趣的:(Atitit 微服务之道 attilax著 1. 什么是微服务架构? 1 1.1. 、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现 2 1.2. 微服务与康威定律 2 1)