棋牌游戏消息队列 选择

14-03-28 zld406504302
一个卡牌游戏,消息传输是基于netty的,server端接受到request,logic中处理后封装成response

直接丢给一个异步线程 调用channel.write 给手机端;

public static void postPokerTableBroadcast(final Channel channel, final Response response, final long delayMillion){
             AsyncTask task = new AsyncTask() {
			@Override
			public void customRun() {
				channel.write(response)
			}
		};

	   AsyncTaskExcutor.getInstance().postTask(task, delayMillion);
<p>

由于同一个request 可能会产生多个有序且不同的response ,就需要用延时控制异步线程的调用顺序。

现在想做一个response 消息的队列,logic层封装好消息后直接丢到队列中,然后由特定的消费者去write 消息给手机端。

同时在线人数5000左右,请问用什么队列比较适合这种模式

补充:多房间,多牌桌,是公用还是分开好?disruptor 或 Railway 哪个更适合

[该贴被zld406504302于2014-03-28 20:13修改过]

[该贴被zld406504302于2014-03-28 20:19修改过]

1
px96004
2014-03-30 00:04
用了netty应该能满足你上面所说的需求了吧.

应该不用什么消息队列了吧.

banq
2014-04-02 16:41
谈到消息队列,一般有 RabbitMQ和ZeroQ两个选择。

Disruptor是多线程并发模型,Netty是异步IO,一个异步高并发架构可能都需要使用,针对范围不同。

猜你喜欢