标题中的“58到家ES服务化实践-张家杰”表明本文将探讨58到家公司在使用Elasticsearch(ES)进行服务化实践方面的一些经验和做法。ES是一个基于Lucene的搜索引擎,它提供了全文搜索、结构化搜索、分析等多种功能,广泛应用于数据挖掘、日志分析等领域。标题中的“服务化实践”指的是将ES作为服务提供给公司内部不同业务线使用,意味着58到家通过一定的实践,将ES从一个内部使用的工具提升到可以作为服务级别被多个部门共同使用的状态。 描述中提到的“***Elastic{ON} Dev China 2016”是事件背景,说明这是在2016年12月10日,由Elastic公司主办的一个开发者大会,名为Elastic{ON}。在这个大会上,张家杰分享了关于58到家在ES服务化方面的实践经验。 从【部分内容】中提取的知识点涉及多个方面,具体如下: 1. 服务化构建的背景 - 地理位置搜索成本过高 - 线上搜索业务逐渐增多 - 一些场景数据库难以继续扩展支持 这三点背景描述了58到家启用ES服务化的三个原因:地理位置服务的搜索成本高、线上业务的增长导致搜索需求增多以及数据库的扩展性到达极限。 2. 服务化构建遇到的问题 - 学习成本高,特别是查询语言的高级语法部分 - 工具和SDK的易用性不足 - 版本更新不及时,管理不规范 - 需要专业工程师长期维护 - 运维管理的挑战 这里描述了在服务化构建过程中遇到的技术和管理层面的问题,这些问题在将ES服务化的过程中需要被重视和解决。 3. 服务化构建的目标特点 - RPC(远程过程调用)和ORM(对象关系映射)使用门槛低 - 服务化集群统一运维,统一CRUD(创建、读取、更新、删除)操作 - 精准/全文查询、过滤bool/分词聚合/排序等高级功能支持 这些目标特点指出了服务化ES集群相较于传统搜索方案的优势,包括更简单的接口、更高效的数据处理能力和更强的查询功能。 4. 服务化构建的基础架构 - DataBase、Table、Schema、Index、SQL、Select、Update、DB - ES、IndexType、Mapping、AllIndex、GET、PUT、DSL(领域特定语言)、Interface 这些基础架构元素体现了58到家在构建ES服务化时涉及的技术和组件,它们是实现一个高效服务化ES集群的基石。 5. 服务化构建的约束和中间件 - token、标识schema、映射dynamic、default、false、limitsize等约束 - DSLHandler、Config、Authority、RM(资源管理器)、Dispatcher、cluster(集群) 这些约束和中间件是在实施ES服务化时需要注意的一些技术细节,它们确保了服务的正确性、安全性和高效性。 6. 服务化构建的实践案例 - 服务报警部分业务无法更新索引导致的IO突增和磁盘频繁读写问题 - 集群分类,包括索引隔离、按需优化等策略 - 位置搜索App分端应用实践,涵盖了用户查看司机、下单、司机抢单等核心业务场景 这些实践案例具体展示了ES服务化在不同业务场景中的应用情况,以及如何解决实际问题。 7. 服务化构建的技术细节和建议 - index/update/upsert/delete等操作接口 - bulkIndex/bulkUpdate/bulkUpsert等批量操作接口 - filter和query的选择优化 - 基本类型和对象选择 - transport client版本冲突控制 这部分提供了在进行ES服务化时需要注意的技术细节和一些操作建议,帮助更好地优化ES集群的性能和稳定性。 58到家在ES服务化方面的实践涉及了从基础知识构建到具体实践案例的各个方面,为我们提供了宝贵的参考经验。这份资料通过张家杰的分享,让我们了解到在真实业务场景下,ES如何从单个工具演变为一个支持大型互联网公司多业务线的服务。同时,它也向我们展示了服务化过程中可能会遇到的挑战和解决方案,为我们未来在类似领域的实践提供了指导和灵感。
剩余28页未读,继续阅读
- 粉丝: 316
- 资源: 33
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助