什么是微服务
微服务是一种架构服务,它要求我们在开发一个应用的时候,这个应用必须构建成一系列小服务的组合;可以通过http的方式进行互通
单体应用架构
所谓单体应用架构(all in one)是指,我们将一个应用中的所有应用服务都封装在一个应用中。
无论是ERP、CRM或是其它什么系统,你都把数据库访问,web访问,等等各个功能放到一个war包内。
- 这样做的好处是易于开发和测试;也十分方便部署;当需要扩展时只需要将war复制多份,然后放到多个服务器上,再做个负载均衡就可以了
- 单体应用架构的缺点是,哪怕我要修改一个非常小的地方我都需要停掉整个服务,重新打包,部署这个应用的war包,特别是对于一个大型应用。我们不可能把所有内容都放在一个应用里面,我们如何维护,如何分工协作都是问题
微服务架构
all in one的架构方式,我们把所有的功能单元放在一个应用里面。然后我们把整个应用部署到服
务器上。如果负载能力不行,我们将整个应用进行水平复制,进行扩展,然后在负载均衡。
所谓微服务架构,就是打破之前allin one的架构方式,把每个功能元素独立出来。把独立出来的
功能元素的动态组合,需要的功能元素才去拿来组合,需要多一些时可以整合多个功能元素。所以微服
务架构是对功能元素进行复制,而没有对整个应用进行复制。
这样做的好处是:
- 节省了调用资源。
- 每个功能元素的服务都是一个可替换的、可独立升级的软件代码。