APP微服务高可用建构简易描述
这个微服务是我负责的某大型app一个重要的微服务,并发量峰值是5000 秒,微服务的信息需要调用外部业务服务器获取信息,且要调用四个外部业
这个微服务是我负责的某大型app一个重要的微服务,并发量峰值是5000/秒,微服务的信息需要调用外部业务服务器获取信息,且要调用四个外部业务器的接口四次才能返回完整的信息。
第一个版本:
由于业务服务器不是我们负责的,对方的研发人员基于一些原因,不愿意提供一个完整信息的接口给我们,因此需要通过四次远程调用接口才能获取到完整信息,可靠性和性能大大打折。
为了提供可靠性和性能,增加了一层缓存器,缓存时间为30秒,先从30秒缓存服务器查询,如果没有命中缓存,再去外部业务服务器查询。缓存服务器是公司自研的,实现了在不同机房之间的缓存数据同步。
第二个版本:
由于缓存的数据生效时长是30秒,当缓存数据失效,查询外部业务服务器也失败或者超时的情况下,这个微服务就挂掉了,研发人员也得背锅了。因此再加多一层永久缓存服务器。每次从外部业务部器查询到数据后,同时把数据保存到30秒缓存服务器和永久缓存服务器,两个缓存服务器的生效时长不一样,一个是30秒,一个是永久。
当失败超过50次时,就会使用永久缓存服务器代替30秒缓存服务器,永久缓存服务器的数据是一直不过期,如果长时间使用,会导致查询到的数据不是最新的。因此在后台程序定时去清空失败计数器,当失败计数器为0时,又使用回30秒缓存服务器。
上面已经保证了后端的程序高可用性,根据监控数据可靠性达到99.9994%,但是还存在一层容易出问题的地方,就是在手机app与业务服务器之间,可能由于网络原因导致失败或者超时。
该服务是查询界面的模板ID,业务上有几种模板,其中有一种是默认模板。
当app调用业务器超时或者失败的情况,客户端将当做默认模板处理,保证用户可以使用页面的精简功能点。
责任编辑:售电衡衡
免责声明:本文仅代表作者个人观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
我要收藏
个赞
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网
-
新基建助推 数据中心建设将迎爆发期
2020-06-16数据中心,能源互联网,电力新基建 -
泛在电力物联网建设下看电网企业数据变现之路
2019-11-12泛在电力物联网 -
泛在电力物联网建设典型实践案例
2019-10-15泛在电力物联网案例
-
权威发布 | 新能源汽车产业顶层设计落地:鼓励“光储充放”,有序推进氢燃料供给体系建设
2020-11-03新能源,汽车,产业,设计 -
中国自主研制的“人造太阳”重力支撑设备正式启运
2020-09-14核聚变,ITER,核电 -
能源革命和电改政策红利将长期助力储能行业发展
-
探索 | 既耗能又可供能的数据中心 打造融合型综合能源系统
2020-06-16综合能源服务,新能源消纳,能源互联网 -
5G新基建助力智能电网发展
2020-06-125G,智能电网,配电网 -
从智能电网到智能城市