软件体系结构是用于软件系统开发和实施的高级结构。随着软件变得越来越普及,不同的体系结构风格随之发展。在这种形势下,微服务架构获得了很大的吸引力和相关性。
什么是微服务?
微服务(也称为微服务体系结构)是一种架构样式,将应用程序构造为一组松散耦合的服务,每种服务均实现业务功能。微服务架构可实现大型复杂应用程序的持续交付和部署。它还使组织能够随着时间的推移改进技术堆栈,扩展规模变得更具弹性。微服务架构提倡将单个应用程序开发为松散关联的服务的集合。这些单元还可以连续地交付和部署大型单片应用程序,而且不需要集中化。
为什么选择微服务?
要了解微服务的普及需要了解单片应用程序。任何应用程序都将包含一个客户端接口、一个用于存储和处理数据的数据库以及服务器端逻辑。整体应用程序作为一个单元构建。在单片应用程序中,服务器端逻辑以单片形式捆绑在一起,所有用于处理请求的逻辑都在单个进程中运行。此系统的所有更新都需要部署新版本的服务器端应用程序。在单片应用程序中,任何修改都与整个变更周期相关联,并且这些周期总是相互关联。由于团队必须扩展整个应用程序,因此也不可能对特定功能和模块进行粒度扩展。
为了克服管理、更新和部署应用程序(尤其是在云上)日益增长的复杂性,微服务架构的采用开始兴起。每个微服务都定义了一个特定的业务功能,并且只定义了与该功能相关的操作,所以非常轻量级和具有可移植。微服务可以在较小的主机中部署和运行,而不必使用传统体系结构的RAM和CPU资源。