"该资源详细介绍了基于Elasticsearch (ES) 构建贝壳找房的搜索中台的历程、挑战及未来规划。ES在贝壳找房的使用涵盖多个业务线,如二手、新房、租赁等,支持大规模数据处理,每天处理大量查询和写入操作,对系统的稳定性和高可用性有着极高的要求。通过逐步演化,贝壳的搜索系统从最初的搜索服务发展到搜索平台,再到搜索云平台,显著提升了业务接入效率、研发人员效率,并降低了故障率。在架构上,系统经历了从SolrCloud到ES的转变,实现了多集群、双机房、容器化部署等优化,提高了部署效率和资源利用率。面对99.99%的稳定性挑战,系统采取了各种措施来确保服务的连续性,如通过减少宕机时间来满足不同的服务水平协议(SLA)。"
本文档详细阐述了贝壳找房在构建搜索中台过程中如何利用Elasticsearch (ES)这一强大的搜索引擎技术。首先,文档指出ES是贝壳找房的核心服务之一,广泛应用于C端、B端以及内部业务,覆盖二手、新房、租赁市场,支撑超过350个业务线。系统规模庞大,包括21套集群、300个ES节点、1100个索引,处理20亿条数据,每天处理10亿次查询和1亿条写入,峰值查询每秒达3万次,且要求达到99.99%的稳定性。
在搜索中台的演进历程中,贝壳从最初的搜索服务逐渐发展到搜索平台,最终形成了搜索云平台。这一过程伴随着效率的大幅提升,如业务接入时间从平均9天缩短至3天,搜索研发人员的工作效率从3人/日提升到0.5人/日,同时故障率降低了60%。这些改进表明贝壳在搜索技术上进行了深度优化,减少了人为错误并提升了自动化程度。
在架构层面,贝壳将原有的SolrCloud系统迁移到ES,实施了单集群到多集群、单机房到双机房的转变,采用混布到分组隔离策略,同时引入了k8s+docker的容器化部署,这不仅提高了部署效率10倍,还使资源使用率提升了3倍。
为了实现99.99%的SLA,贝壳需要确保服务在不同级别的SLA下都具有极低的宕机时间,如每年不超过8.76小时的宕机时间。这要求搜索中台有高度的容错能力和快速恢复机制,包括但不限于数据备份、故障切换和自动恢复策略等。
未来的规划可能涉及到持续优化系统架构,提升服务质量,以及探索更先进的技术以应对不断增长的业务需求和用户期望。这个基于ES的贝壳搜索中台展示了如何在大规模、高并发的业务环境中构建稳定、高效的搜索解决方案。