什么是微服务
2020-11-05 本文已影响0人
c_gentle
一、微服务的定义
微服务架构风格是一种将单个应用程序开发为一组小型服务的方法,每个小服务运行在自己的进程中,并且以轻量级机制(通常是HTTP REST API)通信。这些服务是围绕业务能力建立的,并且可以由完全自动化的部署机构独立部署。这些服务的集中管理只有最低限度,可以用不同的编程语言编写并使用不同的数据存储技术。
二、微服务与SOA
SOA(Service-Oriented Architecture,面向服务架构)
SOA的核心是通过ESB(企业消息总线)构建更可靠的软件系统
SOA的代表工具:Dubbo\Dubbox\Mule\CXF
ESB企业消息总线
三、微服务与SOA的区别
MS可独立运行,SOA不可以
应用规模不同,SOA着眼企业应用,MS适用互联网
通信协议不同,MS基于Http Restful,SOA基于BPEL/WebService等不同标准
MS更轻量,SOA更重量
四、微服务缺点
思想观念的转变 - 强调快速迭代,对产品规划提出更高要求
团队协作改变 - 按业务分组,每个团队只负责独立的微服务
自动化基础建设 - 提高了测试与运维的工作量,需要借助工具
传统应用转型难 - 尽量避免将库存项目强行向微服务靠拢
成本的提高 - 更多的人力成本,更高的采购成本