微服务概念
大约 3 分钟
微服务概念
微服务是一种架构风格,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http 或 rpc的方式进行互通。
单体应用架构
所谓单体应用架构 (all in one) 是指,我们将一个应用的中的所有应用服务都封装在一个应用中。
无论是 ERP、CRM 或是其他什么系统,你都把数据库访问,web 访问,等等各个功能放到一个 war 包内。
整体应用程序(Monolithic applications)相当成功,但是越来越多的人感觉到有点不妥,特别是在云中部署时。变更发布周期被绑定了——只是变更应用程序的一小部分,却要求整个重新构建和部署。
这导致了微服务架构风格(microservice architectural style)的出现:把应用程序构建为一套服务。事实是,服务可以独立部署和扩展,每个服务提供了一个坚实的模块边界,甚至不同的服务可以用不同的编程语言编写。它们可以被不同的团队管理。
微服务架构
微服务风格不是什么新东西,它至少可以追溯到 Unix 的设计原则。