我们使用CouchDB的支持Hyperledger结构来存储记录了大量的文字。我们想建立一个解决方案,允许使用弹性搜索记录免费文本搜索。然后,问题越来越织物/ CouchDB的数据转换成实时弹性搜索。什么是做到这一点的最好办法。我能想到的三种方法: -
1)创建监听CouchDB的变化在连续模式下馈送服务(沙发具有用于此大载体)上,推压变化到消息队列(卡夫卡)。那么另一种服务可以从卡夫卡阅读并推到弹性搜索。我喜欢这个主意(“变更数据捕获”),因为我们可以再建过我们的卡夫卡日志其他读了意见。这种方法的缺点:
2)有我们的客户端应用程序(即写入的织物)每次写入/更新时间面料发布事件到卡夫卡的人。然后另一项服务可以读取这些事件,并写入弹性。这种方法的最大con是:
3)我相信hyperlerdger面料同行提供一些所谓的“事件服务”,这事件发布在每次写入总帐的时间。然而,对于这一个文档是不是伟大,我找不到任何的例子。你能不能细说了,如果你有这方面的经验?我的这种方法最大的问题是还没有经过实战检验还和很多的开发商时将进入固定的东西,当他们去,因为缺乏的文档/博客/例子等错误
非常感谢你提前的帮助。
推荐的图案是#3 - 侦听块事件和具有的任何数据被期望成可查询的数据存储如Elasticsearch听者插入件。与基于信道的事件服务,收听者客户端,用于从某些起始块起事件寄存器。如果有任何服务中断,监听客户端可以随时从停止的地方重新开始。
这种模式具体地,和的事件服务的使用通常,在Node.js SDK event tutorial进行说明。