【发布时间】:2018-12-27 17:41:14
【问题描述】:
我正在寻找某种关于某事的最佳实践: 在我们的应用程序中,我们有很多服务,它们之间有很多交互。
某些服务需要能够通知其端发生了变化。 我们直观的开发人员方法是只在其中注册一个事件并在其上注册。但我觉得这有点“肮脏”。
对我来说,服务是“提供”给请求它的人的东西,而且是,但我们不应该知道服务的生命周期(也不应该阻止服务的服务垃圾收集,因为有人是仍然注册。
我的选择是:
- 向服务请求一个对象,我将在该对象上注册事件--> 我觉得没有这么干净
- 向服务提供实现 CallBack 接口的对象,让服务调用回调而不是通知事件。
- ???
您认为这方面的最佳做法是什么?什么是最干净的方法?
【问题讨论】:
-
有一个已知的模式,CQRS(命令查询责任分离),你会发现很多关于如何通过事件来实现它的例子,叫做 EventSourcing。您不需要使用 EventSourcing,您只需发布到队列并重新订阅以处理请求,您也可以轻松扩展您的架构
-
@skjagini 非常好的答案,你应该发布它
标签: c# design-patterns architecture microservices