1系统设计
本此实施采用B/S架构设计模式进行开发。但是不同的是,我们除了测试的时候需要用到前段界面的Ajax异步代码,其他时候并没有前端存在的意义。
Fanout接口,生产者的接口指定为4个参数,islasting、message、exchange、queue。其中islasting参数为boolean类型变量,表示传递的消息是否持久化于队列中。message即为需要传递消息的字符串类型变量。exchange为我们发布消息所用到的转换器。queue表示消息需要发布到的指定的队列名。而对于消费者的入口参数和生产者唯一不同的是,没有message参数。因为我们只要确定了其他三个参数,便可得到对应的消息。
Direct接口,生产者的接口指定为5个参数,islasting、message、exchange、queue和binding。前面四个参数与Fanout相同,binding代表的是“绑定”。只有生产者发布了一条消息,并且用binding变量进行约束以后,消费者同样用binding进行约束,才能接收到消息。这种方式是一种定向型的发布订阅方式,但只有单一消费者的情况下,其效果和Fanout相同。但是有多个消费者的情况下,所有具有相同binding约束的消费者都会收到同样的消息,这就是生活中的群发概念的实现。消费者接口同上。
Topic接口,生产者的接口指定为5个参数,islasting、message、exchange、queue和matching。matching在生产者中和消费者中的含义不同。在生产者中,表示一个完全标识,例如发布一条标识为“news.orange”的消息,“news.orange”即代表matching。在消费者中,该变量标识一种模式匹配,即消费者可以用值为“news.*”的