什么是微服务架构?有什么优点?

2020.06.13 -

   

微服务也称为微服务架构,是一种架构样式,将应用程序设计为一组服务,这些服务是松耦合,高度可维护和可测试,可独立部署的。微服务架构提供了复杂应用程序的频繁,可靠和快速交付。

微服务架构

微服务架构简单介绍

微服务体系结构基于单一职责和单一服务原理,它是指将由于相同原因(高内聚性)而需要更改的每个服务组合在一起,并将由于不同原因(松耦合)而需要更改的服务分开。微服务体系结构基于此原理,并将软件应用程序扩展到松散耦合且彼此独立的服务组,这些服务组可以独立开发,部署和维护。

这些服务中的每一个都负责执行不同的业务功能,并可以通过简单的API与其他服务通信,从而为大型企业提供解决方案。这些服务中的每一个都负责特定的分配任务,并且可以通过简单的API和消息队列(消息队列)与其他服务进行通信,以解决更大的复杂业务问题。

微服务架构的优点

  • 作为基于此体系结构的应用程序,服务是小型的/微型的,可以由一个或多个小型团队从一开始就进行开发,并按业务功能分开,这使得在需要时更容易按业务需求和工作规模扩展开发成为。
  • 一旦开发了服务,这些组微服务也可以彼此独立地部署和容器化,而与服务开发中所使用的技术无关,因此很容易识别热服务(正在被频繁访问)并进行扩展它们作为一个整体是独立的。微服务还提供了改进的容错性和隔离性,因此,在一项服务中发生错误的情况下(在任何一项单独的服务停止运行的情况下),整个应用程序(微服务组)不一定会停止运行/工作。修复错误/错误后,只能将其部署为相应的服务,而不必重新部署整个应用程序。
  • 微服务架构使人们更容易提出建议并选择用于服务开发的技术堆栈(编程语言,数据库,消息队列等),而该技术堆栈最适合于所需的业务功能(服务),而不是必需的。在所有方法中都使用并采用更加标准化的,单身定制的应用程序,或者通过中间件通信使用基于SOA的应用程序。

基于微服务的应用程序开发过程

有一些概念元素与应用程序的各个功能领域有关。开发基于微服务的应用程序的过程是:

什么是微服务架构?

1.应用程序分解

在继续开发服务之前,它需要对业务功能,需求和功能有较高的了解。可以由在特定业务功能领域具有专业知识的专家团队和最适合那些特定服务的前沿开发技术专家来开发每种服务。这通常会导致微服务应用程序的开发更加稳定。

2.开发与部署

最适合每种业务目的的服务开发技术。例如,我们可能选择使用Java创建带有MS SQL数据库的用户服务,以及使用Scala / Python 构建产品推荐服务。

在开发了服务的持续集成和持续交付之后,通过在每个构建上运行自动化测试用例,与任何可用的CI和CD服务器(AWS CodePipeline,AWS云形成,Jenkins)建立管道,我们可以确保没有集成由其他开发人员开发的代码中存在问题,并且我们不需要将服务组分开部署,可以根据需要将此服务分别部署到不同的环境(集成,QA(SIT和UAT),登台)和生产(实时环境)中网络流量和服务可扩展性。

3.服务架构设计

在设计单个服务时,定义服务体系结构并考虑因素,例如将在输入和输出方面公开哪些内容,将用于与服务交互的协议,服务REST / SOAP的实现等,持久性框架。需要使用,与其他服务和数据库交互时,我们可以使用诸如企业架构师之类的工具进行服务设计。

4.广义服务

有基于产品和服务的企业(在线营销,电子商务,智能业务流程系统,核心/投资银行解决方案等),它们是微服务的后续产品,并遵循DevOps模型进行微服务的开发和部署,团队可以在此基础上进行开发。开发应用程序服务的成员负责与该应用程序/服务相关的每件事。没有针对该服务/应用程序的特定支持或维护团队。

应用程序开发应采用哪种体系结构始终取决于企业的业务功能和要求。整体架构和微服务架构具有各自的优缺点,在选择开发架构之前我们应该考虑这些优点和缺点。

本站文章禁止转载,违者必究
阅 166
0

微服务也称为微服务架构,是一种架构样式,将应用程序设计为一组服务,这些服务是松耦合,高度可维护和可测试,可独立 […]

湘公网安备 43011102001693号

    湘ICP备19003021号-1