欢迎来访我的博客。

 分类:技术杂谈

其他

消息队列之RabbitMQ-06_远程过程调用(RPC)

在此,我们先来看一下什么是远程过程调用。远程过程调用简单来说可以是客户端调用远程服务端的服务。远程过程调用的大致过程如下: 1、客户端client发起服务调用请求。 2、client stub 可以理解成一个代理,会将调用方法、参数按照一定格式进行封装,通过服务提供的地址,发起网络请求。 3、消息通过网络传输到服务端。 4、server stub接受来自socket的消息 5、server stub将消息进行解包、告诉服务端调用的哪个服务,参数是什么 6、结果返回给server stub。 7、sever stub把结果进行打包交给socket 8、socket通过网络传输消息 9、client slub 从socket拿到消息。 10、client stub解包消息将结果返回给client。

小张哥哥 2019年7月22日 20:37 60066浏览 90评论 0喜欢

其他

消息队列之RabbitMQ-05_主题交换机

在前面,我们使用直连交换机(direct exchange)代替了扇形交换机(fanout exchange),达到了我们选择性的接收日志的目的。 但是,现在我们有了更进一步的需求: 我们希望能够不仅仅根据严重程度对日志进行分类,我们还希望达到根据日志来源来分类的目的。比如,我们现在既可以舰艇来源为“corn”的严重程度为“critical errors”的日志,也可以监听来源于“kern”的所有日志。 为了达到这个目的,我们现在需要一个更复杂的交换机-主题交换机(Topic exchange)。

小张哥哥 2019年7月21日 19:56 46288浏览 677评论 0喜欢

其他

消息队列之RabbitMQ-04_直连交换机

在前面的发布订阅模式中,发送者发布的消息可以广播给多个接收者。比如前面的日志系统中,日志消息可以发送给一个接收方在屏幕显示,同时发送给另一个接收方将日志消息保存到文件内。 假如现在我们需要实现这样的需求:日志信息有日志的重要程度进行区分,我们希望把比较严重的日志写入到文件中,而且同时把所有的日志都显示在屏幕上。 现在我们就需要交换机的另外一种模式,并搭配routing key实现。

小张哥哥 2019年7月21日 16:16 79150浏览 126评论 1喜欢

其他

消息队列之RabbitMQ-03_发布订阅

前面文章中的工作队列,生产者生产的一个消息通过消息队列最终分发给一个消费者消费。 在本文中,我们来看以下一个不同形式的消息队列,即“发布/订阅”模式。 在这种模式下,一个生产者发出的一个消息,经过消息队列最终分发给多个消费者。

小张哥哥 2019年7月19日 19:42 3737浏览 41评论 1喜欢

其他

消息队列之RabbitMQ-02_工作队列

前面文章中的一个简单队列中只有一个生产者,一个队列和一个消费者。下面我们床架一个工作队列,可以发送一些耗时的任务给多个工作者(worker)。 工作队列(Task Queues)是为了避免等待一些占用时间和资源的操作。当我们把任务(Task)当作消息发送到队列中,一个工作者(worker)就会取出任务然后进行处理,如果任务很多,就会有多个工作者共同分工完成这些任务。

小张哥哥 2019年7月19日 16:30 23706浏览 167评论 0喜欢

其他

消息队列之RabbitMQ-01_安装和简单队列

MQ即是Message Quene的缩写,字面意思消息队列。RabbitMQ就是消息队列中比较常用的一个框架。它是用Erlang语言开发的,使用了AMQP消息队列协议。 它是一个开源的,性能良好,优秀的消息中间件。 在应用解耦,流量消峰,缓存,异步通信等方面有良好的应用,同时也可应用在微服务系统中实现最终一致性。

小张哥哥 2019年7月19日 14:10 39289浏览 750评论 0喜欢