作者:唯1色彩黄 | 来源:互联网 | 2023-09-23 10:41
本文由编程笔记#小编为大家整理,主要介绍了微服务以及SOA架构相关的知识,希望对你有一定的参考价值。DockerDocker解决了微服务架构下,服务的粒度细服务数
本文由编程笔记#小编为大家整理,主要介绍了微服务以及SOA架构相关的知识,希望对你有一定的参考价值。
Docker
Docker解决了微服务架构下,服务的粒度细服务数量多所导致的开发环境搭建,部署以及运维成本高的问题,也可以大大降低随着微服务数量增多所导致的节点数量增多的成本。
SOA vs 微服务
SOA:将服务分解成多个子系统来实现,粒度比较大,基于企业服务总线,集中式的服务架构,属于单块架构系统,相互依赖,部署复杂,集成方式依赖于SOAP/ESB/WS等重量级协议;
微服务则自底向上开展实施,一个系统被才分成多个粒度精细的服务,集成方式为HTTP/REST/JSON轻量级协议,无集中式总线,服务能够独立部署,特别是基于docker技术。
总的来说,微服务是传统SOA的一个子集;
微服务vs共享库
微服务通常与语言无关,平台无关。
微服务提倡围绕业务组织团队,微服务的模式往往要求团队成员更有多样性的能力,不像传统的安装技术能力范畴划分:前端,后端,用户体验UI等团队。
微服务架构属于产品导向,比传统的项目导向使得团队更有主人翁意识,负责整个服务的整个生命周期。从服务的分析,开发,测试,部署到运维每个环节都要有服务的团队成员来负责。
实际上我可以这样理解:每个服务都是一个scrum团队,有前端ui,有前后端开发,有测试,有dba人员,是一个战斗的团队。多个scrum team组成整个产品的master项目。
技术选型
对于传统的单块架构系统,最初的技术选型将严重制约限制将来的技术演进能力,如果想尝试新的编程语言或者框架,是非常困难的。而微服务架构则可以依据评估服务的重要程度以及团队的能力选择一个服务作为试点切换语言或者框架,快速完成,成功后可以应用到所有的服务模块,甚至就使用不同的语言和框架。