学科分类
目录
Spring Cloud

微服务架构的功能

微服务的概念源于 2014 年3月Martin Fowler所写的一篇文章“Microservices”。

文中表达了一种观念,微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。

微服务是一种架构风格,一个大型复杂软件应用由多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务,在所有情况下,每个任务代表着一个小的业务能力。

微服务架构的功能如下:

1、 微服务的自动化部署

微服务架构中,系统会被拆分为若干个微服务,每个微服务又是一个独立的应用程序。单体架构中的应用程序只需要部署一次,而微服务架构中有多少服务就需要部署多少次。随着服务数量的增加,部署的难度就会增加。业务的粒度划分的越细,微服务的数量就越多。因此就出现了自动化部署工具,例如Docker容器自动化部署技术方便了微服务项目下各模块在服务器上的部署。

2、 服务集中化管理

微服务系统是按照业务单元来划分的,服务数量越多,管理起来越复杂。在这里微服务提供了集中化管理组件Config,这样可以在Config配置文件中统一配置,很大程度方便了人们对项目的集中化管理。

3、 支持熔断机制

微服务架构就是分布式的,在分布式系统中,服务之间是相互依赖的,如果一个服务出现了故障或者网络延迟,在高并发的情况下,会导致线程阻塞,在很短的时间内该服务的线程资源会消耗殆尽,最终使得该服务不可用。

由于服务的相互依赖,可能会导致整个服务的不可用,这就是“雪崩”效应。熔断机制是应对雪崩效应的一种微服务链路保护机制。我们在各种场景下都会接触到熔断这两个字。高压电路中,如果某个地方的电压过高,熔断器就会熔断,对电路进行保护。股票交易中,如果股票指数过高,也会采用熔断机制,暂停股票的交易。同样,在微服务架构中,熔断机制也是起着类似的作用。当一条链路的某个微服务不可用或者响应时间太长时,会进行服务的降级,进而熔断该节点微服务的调用,快速返回错误的响应信息。当检测到该节点微服务调用响应正常后,恢复调用链路。

点击此处
隐藏目录