300229 拓尔思
202211-23
案例分享|“信用中国”搜索型数据库国产化替代
发布时间:2022 -11-23
分享至:
分享
一、案例背景
“信用中国”网站是由国家发展改革委、人民银行指导,国家公共信用信息中心主办的政府褒扬诚信、惩戒失信的总窗口。2015年6月1日,“信用中国”网站正式上线运行,网站的开通对于贯彻落实党中央、国务院关于加强社会信用体系建设的要求,推动各省级信用门户网站互联互通,归集发布各地区、各部门可向社会公开的信用信息具有重要意义。网站向社会公众提供“一站式”的查询服务,日益成为社会信用体系建设领域沟通社情民意、推进信用信息公开的总窗口。
 
网站的建设采取政府与社会力量合作的创新模式,平台早期部署在百度云基于ElasticSearch架构上提供搜索技术支撑,充分利用云的大数据、云计算、搜索引擎等技术,面向全社会开放信用信息查询功能,打造信用信息的“一站式”查询平台。截至2018年7月底,全国18.7万个失信主体退出“黑名单”,“信用中国”网站已归集发布“双公示”信息超过1.5亿条,全国企业、社会组织、机关事业单位以及个体工商户存量代码转换率达到100%。“信用中国”网站提供的信用信息、信用代码公开查询服务属于高频公共服务。经过一段时间运行,“信用中国”遭遇高并发瓶颈,当查询流量突增较大时,系统经常卡顿,导致用户满意度下降。2019年,我国政府正式提出发展信创产业,各地政府也纷纷采取实际行动支持信创产业的发展。“信用中国”也在2019年初启动了升级改造,将系统迁移到国家电子政务外网。同时,通过市场优选,拓尔思成为其新技术服务商。
 
二、案例内容
为了解决“信用中国”访问压力大的问题,项目组通过分析原系统的日志,发现ElasticSearch在数据写入的时候,并发访问的能力会大大地降低。因为ElasticSearch在数据写入和检索的时候,存在CPU、内存、磁盘IO以及读写锁等多方面的竞争关系。为了解决这种读写竞争,项目组利用海贝的镜像数据库实现了数据的读写分离:用一部分机器作为写入节点,后台自动将优化以后的数据同步到另外一组服务器作为检索节点。这种读写分离的模式,降低了数据写入和数据查询之间的资源竞争,极大提升了数据查询效率和稳定性。
 
读写分离
 
另外,日志显示ElasticSearch的数据分布模式,导致每次检索都需要访问所有节点才能获取到完整的结果集,网络IO交互次数随着节点的增加成指数级增长。同时,个别节点的抖动对整体的访问效率影响较大。经常会出现单个节点卡顿导致集群整体无法响应的情况。针对这种情况,项目组通过增加海贝副本数,并且采用本地副本优先的检索模式,降低每次检索需要访问的节点数,进一步降低了节点之间的交互损耗,让检索性能可以随着节点数的增加,实现限行增长。同时,单个节点访问异常对整个集群的影响也降到了最低。
 
 
三、案例成效
本项目中,拓尔思用海贝完成了ElasticSearch的平滑替代。迁移改造后的“信用中国”,只用了12台PC服务器,支撑了超过1.5亿条记录每秒1.2W次的高并发查询。截至目前,海贝在“信用中国”网站已稳定运行接近四年,未出一次事故,可靠性达到6个9,得到了国家公共信用信息中心的高度认可与赞赏。
 
该项目的成功运行,标志着在国家大力推进信创产业,强化国家战略科技力量的背景下,拓尔思增强服务国家战略的能力。同时也为国内其它业务系统从ElasticSearch平滑迁移到国产搜索型数据库奠定技术基础,实现了数据库技术自主可控,树立了行业典型。