初识微服务架构设计
一、单体应用
谈到微服务必定要说到之前的应用架构,比如说单体应用:
单体应用结构比较简单,所有的功能都集中在一起,所以被称为单体。当然这种结构有优点,但是也有缺点。
1、优点
架构简单,开发周期短,容易上手,维护成本低,适合小型项目。
2、缺点
- 耦合性太高,所有的功能都集中在一起
- 如果说现在是一个PC端的应用程序,那么假如现在新增移动端app业务场景,还需要再重新复制一份业务逻辑,代码复用性太低
- 数据库被多个功能所依赖,很难进行数据库的迁移和升级
- 如果某一个功能模块的接口有问题,很容易影响数据库性能,继而影响到所有的业务
- 开发测试、部署困难
二、微服务架构
对于上述的问题,需要寻求一种更好的方式来解决上面的问题:
通过上述的系统架构:
- 将单体应用中的不同功能,比如用户、订单、商品分别拆分为不同的服务,降低耦合性
- 每一个RPC微服务对应着自己的持久层、缓存等,这样服务之间的数据库等不会互相造成影响
- 各个服务可以单独部署
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。