首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Elasticsearch中索引文档的Beanstalkd队列

Elasticsearch中索引文档的Beanstalkd队列
EN

Stack Overflow用户
提问于 2014-11-27 01:19:11
回答 1查看 178关注 0票数 0

我有一个REST,它由不同的资源组成。其中一些资源也被编入索引并在ES中保持同步,我正在实现一个队列系统,以异步方式管理这些操作。我决定选择Beanstalkd作为排队系统。

我的托特

对于每个资源,我将有一个不同的管,我将分裂索引工作的资源。例如,我将有像"index_users“、"index_posts”这样的管道,它们将接收带有资源in的作业,以便在ES中进行索引:

代码语言:javascript
运行
复制
->useTube('index_users')->put( json_encode( [ 'ids' => [ 33, 35, 66 ] ] ) );

对于不同的资源,有不同的管道可以帮助我保持事物的分离(例如,我可以决定停止索引用户只需删除管道index_users ),作业将被更快地分析,因为每个队列中的作业数量会减少,而且对一个资源的大量索引操作不会影响对其他资源的索引。

我的问题

  • 这会是个好方法吗?
  • 这个解决方案会有什么样的缺点?
  • 有人告诉我,在豆茎,最好有一个管,有1000000个工作(与两个资源相关),而不是两管(每个资源一个),每5000份工作。他们建议我去一个解决方案,只有一个管,也是为了内存消耗。这是真的吗?
EN

回答 1

Stack Overflow用户

发布于 2014-11-29 17:35:54

这是个很好的方法。我只会在每条消息中放置一个id,而不是几个id。如果作业失败了,那么您只能重试这一项。当每条消息只有一个id时,您可以进行更好的控制。

Beanstalkd是快速的,它会很好地处理您的数字。你可以很容易地使用多根管子。更好的是,您可以根据消息的数量和从一个消息到另一个消息的速率来设置员工的数量。

如果您需要一个良好的Beanstalkd管理界面,可以试用console

另一方面,查看ElasticSearch中的大容量操作,如果这是您需要了解的内容,那么您需要在管道上放置多个it才能对其进行大容量索引。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27161619

复制
相关文章

相似问题

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