背景:近期,为了更好的解决复工潮来临后的疫情防控工作,有效进行流动人员疑似病例的排查。2月9日,腾讯联合各方推出"防疫健康码",民众只需要通过微信申请涵盖自身健康信息的二维码,获得电子出行凭证,就可以在疫情期间便捷地出入公共场所。
目前,腾讯防疫健康码已落地北京、广东、四川、云南、上海等20个省级行政区,覆盖300多个市县,累计亮码超过16亿人次,覆盖超过9亿人口,累计访问量破60亿。
作为防疫健康码的架构和开发者,如何在种类繁多的存储产品中选择出最合适业务的一款,如何能在有限的时间内高效地支持系统的快速迭代开发,另外,在突发的全国疫情应急背景下,如何快速应对万亿级数据访问挑战,本文就为大家揭秘健康码背后Elasticsearch的系统调优实践。
选型Elasticsearch及技术考量
防疫健康码涉及的应用场景繁多,包括社区互扫,卡口通行,居家隔离等等。因此,在数据类型方面,需要支持常见的如通行时间,车辆信息等这样的结构化信息查询,也有如街道/社区/小区名这样的长文本信息。另外,伴随着疫情防控的需要的调整,还需具备快速调整增删字段的功能;在查询方面,不仅需要支持传统的结构化信息的查询,还需要支持关键字的搜索技术、海量数据的聚合分析技术以及地理位置区域计算技术。
|