微服务架构

微服务解决什么问题?


存在的问题:

1: web站点层需要关心db集群的技术细节, 比如db压力过大, 每个站点业务就要被迫加cache层, 或者分库分表之后, 业务方都要被迫升级

2: web集群的各个业务方可能要同时操作同一张表, 所以存在代码拷贝问题, 虽然抽取公共库可以解决问题, 但是可能有个性化的需求, 导致代码升级之后, 需要通知其他业务线也要跟着升级, 这时候可能也需要做一下兼容工作, 所以代码拷贝也是一种接耦

3: sql质量无法得到保障. 每个业务线的sql能力不一样,  会导致db出问题之后影响其他业务线. 

引入服务层解决上述问题:

1: 消除代码拷贝, 出现bug, sevice要升级, 只需要一处升级

2: 不用关心底层技术细节, 之后service层需要关心

3: 高质量, sql质量有保证. 所有的sql都是由服务提供. sql收口, web通过rpc调用

4: 易扩展, 数据库接耦合

5: 业务代码方效率提高, 不需要关系资源池, db等等

微服务同时又引入了哪些问题?

    1:  系统复杂性提供:  多了一个分层, 同一分层可能也会相互调用, 形成网状的结构

    2: 运维, 部署复杂

    3: 监控, 定位问题变得复杂

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。