分布式消息服务ROCKETMQ版-收发普通消息:同步发送

时间:2024-12-11 10:00:29

同步发送

同步发送是指消息发送方发出一条消息到服务端,服务端接收并处理消息,然后返回响应给发送方,发送方收到响应后才会发送下一条消息的通讯方式。

参考如下示例代码(以下加粗内容需要替换为实例自有信息,请根据实际情况替换)。

from rocketmq.client import Producer, Message

topic = 'TopicTest'
gid = 'test'
name_srv = '192.168.0.1:8100'


def create_message():
    msg = Message(topic)
    msg.set_keys('XXX')
    msg.set_tags('XXX')
    msg.set_property('property', 'test')
    msg.set_body('message body')
    return msg


def send_message_sync():
    producer = Producer(gid)
    producer.set_name_server_address(name_srv)
    producer.start()
    msg = create_message()
    ret = producer.send_sync(msg)
    print('send message status: ' + str(ret.status) + ' msgId: ' + ret.msg_id)
    producer.shutdown()


if __name__ == '__main__':
    send_message_sync()

示例代码中的参数说明如下,请参考收集连接信息获取参数值。

  • topic:表示Topic名称。
  • gid:表示生产者组名称,请根据业务实际情况输入生产者组名称。
  • name_srv:表示实例连接地址和端口。
support.huaweicloud.com/devg-hrm/hrm-devg-018.html