一、微服务
微服务是什么?
微服务模式的一般设计见下图:
如上图所示,把业务分块,做了垂直切分,切成一个个独立的系统,每个系统各自衍化,有自己的数据库、缓存等辅助系统,各个微服务共同完成整个系统功能。
对于单机数据库写请求量大量增加,导致数据库压力变大的问题,由于拆分成了多个子系统,系统的压力被分散了,而各个子系统都有自己的数据库实例,所以数据库的压力变小。
一个子系统A的数据库挂了,只是影响到系统A和使用系统A的那些功能,不会所有的功能不可用,从而解决一个数据库挂了,导致所有功能不可用的问题。各个子系统有自己独立的GIT代码库,不会相互影响, 对于业务代码越来越多,越来越难以维护的问题也因为拆分得到了解决
优点:相对高性能,可扩展性强,高可用,适合于中等以上规模公司架构。
缺点:复杂、度不好把握。指不仅需要一个能在高层把控大方向、大流程、总体技术的人,还需要能够针对各个子系统有针对性的开发。把握不好度或者滥用的话,这个模式适得其反!