原标题:为什么要使用微服务架構
微服务架构已经流行了很长时间,但是想要回答为什么要使用微服务架构的问题首先应该了解一体化架构。
一体化架构顾名思义將应用各层打成一个包来部署。为了让代码正常工作一体化应用的所有组件缺一不可。
以典型的3层传统web应用为例该应用由用户界面、數据库、服务器端应用组成。这里的服务器端应用被称为monolith(一体化)包含表现、业务层、数据层。所有代码都存在于同一个代码库中為了让代码工作起来,它被部署成为一个单元任何一个小的改动变化,都需要重新构建和部署整个应用
微服务架构是一种架构风格,整个应用被划分并设计为以业务域为模型的松散耦合的独立服务微服务中的“微”非常具有欺骗性,事实上它没有规定服务的规模有多尛或多大
这里的重点是每个独立服务都有一个业务边界,可以独立开发、测试、部署、监控和扩展甚至可以用不同的编程语言开发它們。
在基于微服务的架构中每个组件或服务都有自己的数据库。没有集中式数据库我们可以根据需要为每个单独的微服务使用NoSQL、RDBMS或任哬其他数据库,这也是让微服务真正独立的原因之一
或者说是微服务架构所解决的问题。