请问Banq 老师关于CQRS

seansan 16-02-19
         

Banq 老师:.net 下面
CommandBus将Command发送给CommandHandler是否是利用MQ进行发送?
可以直接发送么?
Direct Event Bus和MQ有什么区别么?是否Direct Event Bus要在进行消息的持久化?
小白一个球谅解打扰您宝贵的时间.

         

2
banq
2016-02-20 11:44

对.net不是很懂,从模式上看,CommandBus本身应该是一种消息机制,是一种消息队列模式,队列模式只适合系统访问量真正大量的时候,队列模式有单台内存实现和分布式多台实现,引入分布式的消息机制会带来分布式管理监控和失败恢复以及消息精确发送等棘手问题,在系统规模没有必须要求情况下尽量回避。

至于Direct Event Bus和MQ有什么区别,不是很清楚。好像也没有google到。

seansan
2016-02-20 15:12

2016-02-20 11:44 "@banq"的内容
对.net不是很懂,从模式上看,CommandBus本身应该是一种消息机制,是一种消息队列模式,队列模式只适合系统访问量真正大量的时候,队列模式有单台内存实现和分布式多台实现,引入分布式的消息机制会带来分布式管理监控和失败恢复以及消息精确发 ...

明白了,谢谢banq老师。Banq老师你对GYoung的demo你认为这个应该是内存实现的把?我们的系统不是分布式一般是本服务器操作所以我想还是内存实现吧,或者老师你又更好的看法么?

banq
2016-02-24 14:46

2016-02-20 15:12 "@seansan"的内容
是内存实现吧,或者老师你又更好的看法么 ...


基于内存的消息实现,可使用.NET的Reactive之类框架,或者Erlang,或者Go的Channel,Scala的Actor,Java有Jetlang 和Quasar(Lightweight Threads, Channels and Actors for the JVM)。