2020-12-22 阿里云RocketMQ接入

前言

近期项目中需要RocketMQ,决定接入阿里云的,因此记录一下使用过程。


链接

消息队列 RocketMQ 版文档

  • 下面这个小视频可以先看看

在这里插入图片描述


购买(略过,同事选配,买的是按量付费)

买完进入后就都是0
在这里插入图片描述


使用
  • 创建实例

在这里插入图片描述


    • 注意

上面是创建的实例是华东1的实例
若要创建公网实例,按如下切换后再创建(区别下面再讲)

在这里插入图片描述


    • 创建完成

在这里插入图片描述

点击详情即可操作该实例
若是按量付费,实例不用了记得删除,创建实例每天也是要钱的


  • Topic
    • 创建Topic

在这里插入图片描述

    • 创建Tag

在这里插入图片描述


  • 创建Group

在这里插入图片描述


  • SDK接入
    • 接入方式

接入方式分为TCP接入和HTTP接入
在这里插入图片描述


    • TCP接入和HTTP接入不同点

有一个URL参数不同,分别对应实例详情中的TCP接入点和HTTP接入点提供的URL
其次就是SDK复杂度,经测试,HTTP的SDK要复杂的多

在这里插入图片描述


    • 注意

如果你注册的是区域实例,那么是没有TCP公网链接(如下)
在这里插入图片描述


    • 公网和内网

公网:即你在自己的机器上也可以接入这个链接测试
内网:如果你的应用服务器和RocketMQ的实例在一个区域,那么在服务器上,你可以通过内网链接调用


    • TCP接入

1、官方demo
2、这里以内部的springboot项目示例
3、修改配置文件内容
在这里插入图片描述
4、注意:nameSrv要是公网能访问的且是TCP接入点,因为是在自己的机器
5、测试用例中有很多demo,如下(注意测试就发一条就行了,循环里记得break一下,因为我是按量付费)
在这里插入图片描述
6、消费者直接跑上面的COnsumerTestTest即可


    • HTTP接入

1、官方demo
2、我测试的话主要用的类就是里面的MQClient

public class ClientTest {
    private final static String INSTANCE_ID = "";
    private final static String TOPIC_NAME = "";
    private final static String ENDPOINT = "";
    private final static String ACCESS_KEY_ID = "";
    private final static String ACCESS_KEY_SECRET = "";
    public static void main(String[] args) {
        MQClient mqClient = new MQClient(ENDPOINT, ACCESS_KEY_ID, ACCESS_KEY_SECRET);
        MQProducer producer = mqClient.getProducer(INSTANCE_ID, TOPIC_NAME);
        producer.publishMessage(new TopicMessage("发送的消息".getBytes()));
        MQConsumer consumer = mqClient.getConsumer(INSTANCE_ID, TOPIC_NAME, TOPIC_NAME, "test");
        List<Message> messages = consumer.consumeMessage(1, 0);
        //  TODO 这里好像是需要像服务器响应一下,否则消息还是未消费状态,但是我没搞懂......
    }
}

3、然后你就可以用了

    • 比较

两者给我的感觉就是HTTP接入需要很多类,而TCP接入只需要引入一个jar,然后按着demo搞即可,方便些


小结

以上就是这次接入RocketMQ的一些经历,一开始是没搞懂内网和公网的区别所以有些懵逼,不过后面懂了其实就还行
感觉很多东西都封装好了,一般开发的话就保证常见的MQ问题不要出现即可


注意
  • 场景1(2021-04-21):开发环境和生产环境连同一个实例,导致开发环境有时候收不到消息
原因:如果开发、生产环境发消息时各个参数都一样,这样就相当于一个集群,MQ投递消息的时候就会随机发到一个实例中,导致好像消息丢失

解决:让开发、生产环境订阅不同的topic、tag等,或者用两个实例
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值