微服务架构由非常小但完全独立的软件组件构成,我们将这些组件称之为微服务,它们仅专注一项任务。微服务具有云原生特性,可独立扩展、速度快、可移植且不依赖于平台。微服务架构是由 SOA 架构风格演变而来的。
什么是微服务?
微服务架构由非常小但完全独立的软件组件构成,我们将这些组件称之为微服务,它们仅专注一项任务。微服务通过 API 进行通信,API 是开发人员为让其他软件系统与其微服务进行通信而开发的规则。
微服务架构风格最适合现代云计算环境。它们通常在容器中运行。容器是将代码及其所有依赖关系打包的独立软件单元。
微服务的优势
微服务具有云原生特性,可独立扩展、速度快、可移植且不依赖于平台。此外,微服务是解耦的,也就是说它们不依赖于其他微服务。因此,微服务可以本地访问它们需要的所有数据,而不是远程访问其他系统也可以访问和使用的集中数据。这会产生数据重复,但其出色的性能和敏捷性弥补了这一不足。
SOA 与微服务的对比
微服务架构是由 SOA 架构风格演变而来的。微服务解决了 SOA 的缺陷问题,使软件与基于云的现代企业环境更加兼容。微服务非常精细,支持数据复制,而非数据共享。这使得它们完全独立于通过轻量级 API 访问的自己的通信协议。使用者通过微服务的 API 使用微服务,从而消除了对集中式 ESB 的需求。