即使是不成熟的尝试,也胜于胎死腹中的策略。

如何选择在ES之前处理写入的中间件?

Elasticsearch | 作者 Sunboyxxy | 发布于2018年12月18日 | 阅读数:4005

场景:ES是用来存业务数据,把ES作为数据存储的平台,提供查询服务
数据写入方式包括,应用调用HTTP接口写入,通过Hive的外表导入到ES
 
问题:上述两种方式由于都存在请求流程不可控的情况,希望能在ES前面加一层MQ,比如kafka,来缓解写入的压力
根据这个需求,就需要选择一款可以将  ES和kafka结合起来,并且还能处理现有的 hive等场景的数据写入,要选择什么样的中间件产品能满足上述需求呢?
 
还请有经验的大神指教。
已邀请:

rochy - rochy_he

赞同来自:

不大清楚 还能处理现有的 hive等场景的数据写入 这句话具体指什么
不过推荐你试试 waterdrop:https://interestinglab.github. ... h-cn/

God_lockin

赞同来自:

我们目前的做法是:
1. 做个平台给各个有读写需求的部门自己设置自己的mapping,比如字段类型、是否按天、月、年建索引…
2. 开一个(如果有特殊需求可能是好几个)Kafka的topic
3. 约定好交互格式,(比如,用 index|type|_id|timestamp|randomkey 作为kfk的key),然后(用docker技术)动态增减consumer做数据的导入
 
由于公司技术栈主要是Java,所以几个组件,包括数据预处理的插件都是Java实现的,也可以选择包括golang、python、ruby…等各种不同的实现。不知道能不能解决你的问题?

要回复问题请先登录注册