【发布时间】:2013-08-13 20:18:56
【问题描述】:
我真的很喜欢 James Lewis 的 "Microservices: Java, The Unix Way" 演示。
在本演讲中,James 谈到了通过编写一个队列处理引擎来实现用户注册服务,该引擎从 atom 提要中读取事件并公开一个端点,多个消费者可以从中读取以处理并转换为用户实体。
关于特定slide(视频中大约18:40)的注释说这是使用competing consumer EIP实现的:
“队列处理引擎使用条件 GET、PUT 和 Etags 对事件队列暴露的原子集合实现了竞争消费者模式”
这种队列(以及他们谈论拥有异构消费者的方式)表明它是一个发布-订阅通道。
我真的不明白这是如何实现的,EIP 书中说竞争的消费者才有效:
[...] 点对点通道;发布-订阅频道上的多个消费者只需为每条消息创建更多副本
我假设队列处理器公开了一个 REST 资源,竞争的消费者调用该资源对新项目发出 GET 请求,但是 PUT 请求和 etags 是从哪里进入的呢?
【问题讨论】:
标签: rest http architecture atom-feed event-driven