在平时的开发过程中,会遇到一个普遍的情况,比如自己的应用依赖了很多第三方服务,同时又给下游系统输出很多rpc接口,系统内部也有很多复杂的业务逻辑穿插和数据流转,这时我们该怎么保证我们的系统可维护性,高可用呢。
1.系统内部梳理出业务总线,每条线都是一个主题,比如订单,售后,等等,如果系统够大,业务够复杂,那么一个主题基本上就可以单独成一个应用或服务,比如订单服务,售后系统等等,这样维护起来也有针对性。
2.依赖的第三方服务接口进行梳理,如果时效性不高,走缓存,或者进行数据闭环,减少强依赖。
3.对外提供的接口,流量过大,接口可以进行限流处理,甚至只保留接口重要业务逻辑,进行有损服务,需要对接口细粒度的划分。
4.缓存服务器资源是否够用,能否自动扩容,能否自动切换机房;缓存命中率有多高,数据库回源的场景有多少,是否有风险等等都要考虑。
5.是否有必要增加过多的服务器节点,防止数据库连接池满了;读写分离,分表等等