API与微服务方法中的事件

根据不同的请求类型,Smart端点和哑管怎么样?

在阅读之后,我认为只需订阅一些活动并处理即可。 但是现在我意识到有时你应该已经开放了API(可能不是为最终用户,而是API网关等)。 这个可以吗? 或者你应该“平息”(转变为事件)任何请求,微服务云?

因此,例如,您有发票和订单服务。 很明显,创建订单时,您可以使用可能由发票服务使用的事件来创建发票。 很明显,为了接收最后一个用户的订单列表,您可以在订单服务端使用CQRS,或者甚至只是创建新的服务LastOrders,它将只保留所需数据的投影。 但是,如果这个请求转化为事件或LastOrders应该为其提供API并监听事件以更新它自己的数据库?


我们这样做:

  • 所有命令都以基于类型路由的持久队列中的消息形式发出
  • 处理在孤立的处理程序中发生
  • REST POST和PUT仅为可以从传统/外部系统访问的API创建
  • 这些“命令”式的REST端点只将命令形成为消息并通过消息总线发送
  • REST GET非常适合读取数据,我们不使用消息传递,虽然我们可以让一些消息处理程序为只能使用消息的长时间运行的进程检索数据
  • 命令(消息)处理程序总是发布关于他们已经完成或未完成的事件
  • 下游事件处理可以通过订阅这些事件来完成他们想要的任何事情
  • 链接地址: http://www.djcxy.com/p/34083.html

    上一篇: API vs Event in Microservice approach

    下一篇: Difference between Microservices Architecture and SOA