目录

    1. SOA

    面向服务架构(SOA),阐述了对于复杂的企业IT系统,应按照不同的、可重用的粒度划分,将功能相关的一组功能提供者组织在一起为消费者提供服务,其目的是为了解决企业内部不同IT资源之间无法互联而导致的信息孤岛问题。

    SOA的基本设计思想是:对外只需要提供一个简单的接口,封装底层的复杂性,不关心技术实现方案。

    由于,SOA本身的广义性以及抽象性,人们对SOA存在着不同的认知和理解。基于SOA设计思想,出现了ESB、REST、SOAP、RPC、RMI、DCOM等实现方案,而微服务架构也可以看作是对SOA的一种衍生或解读。

    2. 微服务架构

    微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP协议的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应当尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构建。

    具有如下特点:

    • 模块化。单个服务的开发、理解和维护都可以单独进行,对外只需要提供服务的接口。
    • 独立部署。每个服务可以独立进行部署和维护,它只是作为整个系统的服务之一,并不会影响全部服务。
    • 独立扩展。可以根据服务的规模,自行进行硬件资源、分布架构的扩展,而不影响其他的服务。
    • 独立运行。单个服务独立运行,提供单一可靠的服务。

    这些特点在SOA思想指导下的其他技术方案中,早就有所涉及,近年提得较多的微服务是随着持续交付概念推广以及Docker容器普及迅速得到认可的。微服务将这两种理念和技术结合起来,形成新的微服务+API + 平台的开发模式,提出了容器化微服务的持续交付概念

    3. 容器化微服务的持续交付

    容器化微服务的持续交付能力,对于敏捷开发非常的重要。传统的开发、测试、部署,涉及复杂的内部流程,而微服务缩小了测试的范围,容器化为测试提供了测试上下文环境。