标签:
Atitit.架构设计趋势 设计模式 ---微服务架构 soa
、微服务与SOA的关系 :微服务架架构师面向服务架构(SOA)的一种特定实现1
Martin Fowler认为,微服务架构是一种独立部署的软件应用设计方式。这种架构方式没有准确的定义,但是在业务能力、自动部署、端对端的整合、对语言及数据的分散控制上有着共性。Martin Fowler曾在文章中详细阐述了微服务的特征,资深架构师顾伟在分享中总结了其中最重要的三点:轻量可复用、安全可伸缩、失败设计。很多企业在发展中遇到了瓶颈,CIO们纠结如何让企业的架构更有弹性、并节约成本的增加弹性、如何开放服务数据、并规避开放之后的安全问题。而微服务架构正能够满足这些需求。但是,微服务架构也为企业带来一些挑战:微服务的粒度更细,导致了更多的进程;微服务架构整合了多种服务形态,却需要提供统一的接口;开放服务之后,业务量不稳定,增加了CPU和内存的负担。
微服务架构就能够很好地解决这个问题。微服务架构自 2010年开始逐渐被大家熟知,通过对传统单块应用进行服务化切分,把一个大而复杂的问题化解为多个小而简单的问题,服务之间通过契约来约定依赖,做到服务独立发布和演进。今天,微服务架构已经被广泛运用在像 Google、 Facebook这样的大型互联网公司,为他们的快速交付和持续创新提供软件架构支撑。本书中有大量微服务架构实战经验的总结,不仅仅有应用架构设计的内容,还涵盖了微服务大背景下应用测试、发布、日志、监控等方面,让读者可以全面应对微服务架构需求。
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)》一文中,作者发现紧密耦合的组织(例如典型的商业产品公司,所有员工在同一地点工作,具有高度一致的愿景与目标)开发的软件倾向于较少模块化,而松散耦合的组织(例如分布式的开源社区)开发的软件则倾向于更加模块化、耦合较少。
2)断路器
使用断路器,当请求下游服务发生一定数量的失败后,短路器打开,接下来的请求快速失败。一断时间后,查看下游服务是否已服务,重置断路器。
3)舱壁
未每个下游服务建立单独的连接池。超时和断路器资源受限时释放资源,舱壁第一时间确保它不成为限制。还有一个拒绝请求的舱壁,用以避免资源饱和,称之为减载。
4)隔离
当下游服务离线,上游服务不受影响。设置成为服务间隔离。
5、幂等
幂等操作,多次执行所产生的影响,均与一次执行影响相同。可以把某些特定业务操作设计成幂等的,比如客户下单送积分。
4、版本管理
1)尽可能推迟破坏性修改
宽进严出的原则
3)不同的接口版本共存
最好共存两个版本
Line 301: 第1 章 微服务 1
Line 319: 第2 章 演化式架构师 11
Line 341: 第3 章 如何建模服务 24
Line 355: 第4 章 集成 32
Line 396: 4.15 与第三方软件集成 61
Line 403: 第5 章 分解单块系统 66
Line 434: 第6 章 部署 86
Line 458: 第7 章 测试 110
Line 487: 第8 章 监控 131
Line 501: 第9 章 安全 143
Line 533: 第10 章 康威定律和系统设计 161
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部分 进阶篇
第 11章 微服务与持续交付 ............ 131
第 12章 微
微服务实战(一):微服务架构的优势与不足_知识库_博客园.html
微服务设计-读书笔记 - 简书.html
微服务与康威定律 - 推酷.html
作者:: 绰号:老哇的爪子 ( 全名::Attilax Akbar Al Rapanui 阿提拉克斯 阿克巴 阿尔 拉帕努伊 )
汉字名:艾提拉(艾龙), EMAIL:1466519819@qq.com
转载请注明来源: http://www.cnblogs.com/attilax/
Atiend
Atitit.架构设计趋势 设计模式 ---微服务架构 soa
标签:
原文地址:http://www.cnblogs.com/attilax/p/5968183.html