rabbitmq 简易RPC调用示例

本文介绍了如何使用RabbitMQ实现简单的RPC(远程过程调用)调用。首先提供了streadway/amqp库的代码获取链接,然后详细讲解了客户端和服务器端的实现过程。客户端创建匿名队列并发送带有CorrelationId和ReplyTo的消息到rpc_test队列。服务端则监听rpc_test队列,解析消息,根据CorrelationId和ReplyTo将响应返回给客户端。
摘要由CSDN通过智能技术生成

rabbitmq 简易RPC调用示例(后附go代码))

rabbimq 库代码获取

https://github.com/streadway/amqp

用例概述

  1. 客户端
    客户端创建匿名队列q,并且从该队列获取消息(No wait return)
    客户端向消息队列rpc_test发送消息,消息中包含:
    CorrelationId: “32”,// 待服务端解析原样返回
    ReplyTo: q.Name, // 待服务端解析后将结果发送到指定队列,供客户端获取解析,根据CorrelationId做消息匹配
  2. 服务端
    服务端创建队列rpc_test,并且从该队列获取消息,
    收到消息后,解析客户端消息CorrelationId,ReplyTo(客户端要求将消息发送到该队列)
    服务将返回结果,和CorrelationId打包,返回到ReplyTo对应队列,供客户端解析使用

客户端

package main

import (
	"fmt"
	"log"
	"test1/amqp"
)

func failOnError(err error, msg string) {
    if err != nil {
        fmt.Printf("%s: %s\n", msg, err)
    }
}
func f6(){
	conn, err := amqp.Dial("amqp://fm:1@192.168.7.29:5672/fm")
    failOnError(err, "Failed to connect to 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值