2023微服务架构模式.docx
《2023微服务架构模式.docx》由会员分享,可在线阅读,更多相关《2023微服务架构模式.docx(80页珍藏版)》请在优知文库上搜索。
1、微服务架构模式2024目录序言3致谢41 .引言72 .目的93 .读者104 .架构与解决方案104 .1模式和控制措施叠加115 .2微服务架构模式简介135 .微服务架构模式155.1 模式155. 1.1卸载(OffIoad)模式156. 1.2路由(路由选择)模式177. 1.3聚合模式198. 1.4缓存模式229. 1.5代理2410. .6AuthN(身份验证)模式2711. 1.7AuthZ(授权)模式2912. 1.8Facade模式3213. 1.9StranglerFig模式3414. 1.10断路器(CirCUitBreaker)模式3715. .11适配器(包装器/
2、转化/转换)模式406 .安全控制措施叠加426. 1叠加介绍446.1.1服务叠加456.1.2IAM叠加506.1.3网络叠加526.1.4监控叠加556.1.5密码叠加576.1.6微服务的弹性和可用性叠加61总结/结论67附录A:缩略语69附录B:词汇表Glossary70附录C:参考文献76附录D:作业练习指导801.0微服务架构模式模板801.1 模式作业练习指导801.2 模式模板802. 0安全叠加模板822.1 安全叠加作业练习指导822.1.1介绍822.1.2预备知识832.1.3作业练习的步骤851.引言以较弱方式构建微服务的影响始终存在I表现为不够安全和把应用编程接口
3、(APn过度暴露,构成了微服务应用程序风险的核心部分。一些业务和技术负责人跳过搭建架构的方法2,仅凭几条粗略的要求寻找软件解决方案。然而在开放市场上寻求解决方案的人们最终还是要用搭建架构的方式把采购的解决方案融入到现有控制环境中。即便是新建的微服务应用程序也要与企业旧有的其他部分集成没有哪家公司会年年淘汰现有架构。不采用架构方法而单纯购买解决方窠将不可避免地在日后引入各种制约和附加组件,修修补补的资金成本会随着时间的推移而不断增加。无论企业领导者倾向于购买现成解决方案还是支持“内部构建”,API消费和微服务集成都会是一种常见的系统集成预期。最好能有一种办法指导将架构的使用、架构模式和安全控制措
4、施叠加集成为一个整体,确保信息安全成为既定要求的集合。微服务架构模式和相应的安全控制措施的叠加为微服务的开发奠定了基础,形成一种完整的思路。模式和叠加可确保信息安全根植于产品之内。如果做得好,安全控制措施叠加会变得与用于创建微服务应用程序的架构和设计方法难以区分。有人称这种现象为DevSecOps”(开发-安全-运维)安全控制措施叠加的概念起源于美国联邦信息系统管理法案(FISMA)。根据FISMA的说法,“安全叠加是运用裁剪指南对控制基线裁剪后得出的一个全套特定控制措施、控制措施强化和补充指南集。美国国家标准和技术研究所(NIST)特别出版物SP800-53联邦信息系统和机构安全和隐私控制措
5、施第4版第3.3节对安全控制措施叠加作了进一步阐述。尽管叠加是NIST引入的概念,但是ISACACOBIT5、PCI-DSS3.2.1或CSACCMv3.0.1等其他控制框架也可使用。软件开发的展开离不开以软件设计模式为引导)安全控制措施叠加(OVerIay)是指由全套特定控制措施、控制措施强化和补充指南组成的离散集,可集成到架构设计流程中,充当嵌入和既定的管理、技术或物理要求。软件设计模式与安全控制措施叠加结合到一起会告诉我们,软件开发工作要把安全作为一个设计元素“内置”到软件产品之中,而不能只把安全当作最后才涂抹到软件产品上的一层外衣,而这一层外衣到了日后成为必须付出极高代价才能做出改变的
6、地方。本文后面的章节将为使软件架构形成一个完整思路打下基础。架构意义上的完整思路是指表现得像一个完美数学方程式的架构表达方式;把这个思路向前推进,可以得到它的预期产品,向后推演,则可以看到它的非功能和功能要求。开发人员一旦掌握软件设计模式和安全控制措施叠加,就可以在架构成熟度上更上一层楼,从特定的微服务视角揭示底层服务交付框架具体方面(如数据、集成和部署架构)所需要的控制状态。虽然这些还不是“微服务架构”,但可以支持对于那些要求保证系统行为可重复性、可靠性、准确性和完整性的架构和设计。微服务架构风格体现在分布式应用程序的处理足迹里,其中静态配置、动态适应和抽象化设想组合在一起所形成的能力,产生
7、人们所说的“应用功能”。在微服务和容器化转型出现之前,许多配置和抽象化设想存在于单个整体式应用程序边界之内。随着整体代码库变得越来越大,内部应用程序的状态和相互依赖变得越来越难以分辨,从而带来许多架构、开发和运维上的挑战。然而,让一名业务代表负责业务流程功能,同时让另一名产品负责人履行应用托管义务并在一个组织结构下管理联合开发人员的情况依然十分常见。微服务架构风格改变了组织结构,就像改变软件的构建和组装一样。架构的每个部分,无论是在平台、软件定义、应用编程接口(API)层面,还是在软件开发层面,都是在微服务应用程序交付的整体功能中执行具体和特定功能。机构把多个开发团队组织到一起应对技术变化,响
8、应计算、内存、存储和网络虚拟化成一种能力的趋势。存储、网络和服务器计算机团队的混合体由分散的团队组合而成。随着微服务软件开发深入人心,业界越来越重视DevSecOps(开发-安全-运维)软件组装和应用程序安全。例如,一个业务负责人可能拥有涵盖整个工作流程的应用程序,但是只负责处理涉及改进现有能力或建立新能力的前瞻性请求。业务负责人关心的是已交付或可交付成品的价值最大化;这个角色游离于软件构建团队之外。在微服务架构风格中,多个产品负责人服从于某一个业务负责人,与业务负责人保持一致的情况是可能存在的。产品负责人和相关软件开发团队(也就是敏捷用语中所说的“机组”crew)可能拥有特定功能的所有权,如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 微服 架构 模式