首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >可扩展的弹性搜索模块,有弹簧数据的弹性搜索吗?

可扩展的弹性搜索模块,有弹簧数据的弹性搜索吗?
EN

Stack Overflow用户
提问于 2020-08-25 14:42:19
回答 1查看 163关注 0票数 1

我正在设计一个可伸缩的服务(Springboot),使用它将数据索引为弹性搜索。

用例:

我的应用程序使用具有相同模式的6个数据库(MySql)。每个数据库都适合特定的区域。

我有一个微型服务,它连接到所有这些dbs,并以类似的方式将数据从特定表索引到弹性搜索服务器(v6.8.8),具有6个elasticsearch索引,每个db一个索引。

Quartz jobs就是为了这个目的而使用的,RestHighLevelClient也是如此。此外,还有增量作业每秒钟运行一次,以便使用审计和索引查找更改。

目前的问题:

  1. 当前的设计是不可扩展的-一个服务完成所有的工作(数据加载、映射、批量插入)。因为索引是通过夸脱作业完成的,所以缩放服务(运行多个实例)将多次运行相同的任务。
  2. 没有故障转移-查找分布式elasticsearch节点和将数据索引到两个节点。如何有效地做到这一点。

我正在考虑spring data elasticsearch在数据被持久化到db时对数据进行索引。

它提供所有的功能吗?我用:

  • Elasticsearch从安装模板到创建/删除索引、别名。
  • 蓝色/绿色部署-索引到非活动节点并更改别名。
  • 大容量插入、查询、aggregations..etc

欢迎任何其他解决方案。耽误您时间,实在对不起。

EN

回答 1

Stack Overflow用户

发布于 2020-08-25 15:30:10

您的用例之一是以可伸缩的方式将数据从DB (Mysql)移动到ES。它基本上是一个CDC (变更数据捕获)管道。

您可以使用卡夫卡-连接框架进行相同的操作。

流应该是:

  1. 读取Mysql事务日志=>将数据发布到Kafka (这可以使用Debezium源连接器完成)
  2. 使用Kafka =>的数据,将其推送到弹性搜索(这可以使用ES-同步连接器完成)

为什么要使用这个框架?

  1. 使用connect框架数据可以直接从Mysql事务日志中读取,而无需编写代码。
  2. 连接框架是一个可扩展的分布式系统。
  3. 它将减少数据库的负载,因为您现在不需要查询数据库以检测任何更改。
  4. 容易设置
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63581344

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档