开发者社区> 问答> 正文

搜索中台的稳定性优化是什么?

搜索中台的稳定性优化是什么?

展开
收起
游客o46zkeyqg2dhw 2021-12-14 17:14:07 1107 0
1 条回答
写回答
取消 提交回答
  • 业务挑战一个在于稳定性方面:贝壳的 Elasticsearch 使用场景和很多公司不 太一样,很多公司的 Elasticsearch 搜索不一定是核心业务,比如用于日志分 析、数据分析、运维监控,但我们服务于首页最核心的业务,所以对稳定性的 要求非常高,目前我们的 SLA 至少需要满足 99.99%,未来希望能达到 5 个 9,所以我们在稳定性方面做了很多工作,比如 Elasticsearch 集群的双机房互 备,主备集群自动熔断降级、主备一键分流,以及网关层也有相应的限流和熔断 降级策略等等。另一个是数据同步方面:搜索一般白天都是业务查询的高峰期, 但是也有业务会在白天做大批量的数据变更,然后这些变更需要及时的同步到 Elasticsearch,如果同步过快,就会造成 Elasticsearch 集群的压力增加,从 而影响到查询延时;如果同步太慢,又会影响到数据的实时性。所以需要我们对 实时和批量做区分,并对写入速度进行权衡。我们最终通过使用多个 kafka 消息 队列来对数据写入异步化和并行化,同时对生产者和消费者都进行限速。并且对 于那些数据频繁变更的业务,我们在写入 Elasticsearch 之前提前进行小批量数 据的预合并,从而降低 Elasticsearch 的写入压力,保证查询性能的稳定。

    资源来源于《Elasticsearch 中国开发者调查报告》下载地址:https://developer.aliyun.com/topic/download?id=59

    2021-12-14 18:08:14
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
打造高性能高可用的搜索服务——爱奇艺搜索架构实践 立即下载
《开放搜索在智能化行业搜索和业务增长领域的应用实践》 立即下载
O2O搜索优化实践之道 立即下载