【发布时间】:2019-05-07 22:19:48
【问题描述】:
所以我有一个从设备接收消息的系统,然后它通过 3 个不同的服务器,每个作业都运行无数的服务。从架构的角度来看,使用 sidekiq 使我的程序异步的某些考虑因素是什么?使用 sidekiq 运行子进程是否有缺点?有什么建议吗?
【问题讨论】:
-
为什么这是一个糟糕的问题?这似乎是一个难题。
标签: ruby-on-rails architecture jobs sidekiq
所以我有一个从设备接收消息的系统,然后它通过 3 个不同的服务器,每个作业都运行无数的服务。从架构的角度来看,使用 sidekiq 使我的程序异步的某些考虑因素是什么?使用 sidekiq 运行子进程是否有缺点?有什么建议吗?
【问题讨论】:
标签: ruby-on-rails architecture jobs sidekiq
架构(系统设计)应该基于您要解决的问题。如果您的服务是针对独特的业务领域设计的,并且它们是异步兼容的,那么您可以为每个服务生成子作业。但如果不是,或者您需要在服务之间进行灵活的交易,那么每个请求的工作是正确的选择。因此,您可能会根据要求在系统中同时拥有这两种实现方式。
【讨论】:
使您的程序与 sidekiq 异步的好处是它很容易并且在发生错误时产生良好的报告。使用 sidekiq 执行此任务的缺点是创建和执行作业的开销很大。这可能会成为一个问题,它代表了所使用的大部分资源。
【讨论】: