**SAP**
** SAP AMQP Client **
** 的使用 **
**SAP AMQP CLIENT**
AMQP(高级消息队列协议)是一种开放的互联网协议,用于强大的异步消息传递。它最初设计用于处理 金融业务领域的消息沟通。
AMQP 允许点对点通信以及发布和订阅通信。对于发布和订阅通信,需要单独的消息 必须使用代理将消息分发到各个接收方。
ABAP 应用服务器(Available As Of ABAP Platform 2020 FPS01)提供了一个 API,用于根据 AMQP 规范 1.0
版本实现 AMQP 客户端,这是一个 ISO 标准(ISO/IEC
19464:2014)。ABAP中的AMQP实现也基于ABAP推送通道(APC)技术。AMQP 客户端支持 APC 连接类型为 WebSocket 和
TCP Socket。
**RabbitMQ介绍**
RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。
**RabbitMQ的作用**
_**1** _
**解耦**
一个业务需要多个模块共同实现,或者一条消息有多个系统需要对应处理,只需要主业务完成以后,发送一条MQ,其余模块消费MQ消息,即可实现业务,降低模块之间的耦合。
**_2_ **
**异步提速**
主业务执行结束后从属业务通过MQ,异步执行,减低业务的响应时间,提高用户体验。
**_3_ **
**削峰填谷**
高并发情况下,业务异步处理,提供高峰期业务处理能力,避免系统瘫痪。
**SAP AMQP Client与RabbitMQ**
**的连接步骤**
(1)T-CODE:SE38输入DEMO的程序名:RS_AMQP_CLIENT_TEST。
(2)AMQP Client仅支持AMQP
1.0版本,看RabbitMQ有没有开启AMQP1.0插件,没有的话需要手动开启,因为RabbitMQ默认使用的是AMQP 0-9-1版本。
(3)如果RabbitMQ没有开启匿名访问功能,我们可以复制DEMO程序RS_AMQP_CLIENT_TEST,在这个位置输入账号密码。
也可以在选择屏幕做个输入框。
(4)点击执行后输入内容发送
(5)如果Target address在RabbitMQ的Queue不存在时会产生新的Queue,点击里面的Get
messages按钮还可以看到还没有被消费的message。
**Source Addresses 和**
**Target Addresses的输入规范**
**【END】**
作者 | 陈瀚佳
审核 | 贾栋才
编辑 | 王 锐