华为云消息队列使用

业务场景

    最近在工作中,碰到对外协作的接口项目,需要走华为云的消息队列,一周左右的配置和开发下来,初步了解了一些,大致如下:

一、华为云环境配置

   对接中这次主要是生产者模式,topic产商也定制好了,配置这一步是可以省略了。

1、 登录华为云平台
在这里插入图片描述
2、 双击项目资源进入配置页面
在这里插入图片描述
3、新增topic
在这里插入图片描述

二、项目配置

接下来是相应的项目环境配置、jar包引入。

1、pom引入

<!-- 引入Kafka客户端-->
<dependency>
    <groupId>org.apache.kafka</groupId>
    <artifactId>kafka-clients</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>

2、yml文件配置kafka
在这里插入图片描述

三、对应的测试类demo

相应测试生产、消费的demo
1、生产方

    /**
     *
     * ======================================================================
     * ======================华为云消息队列接口==============================
     * ======================================================================
     * 测试kafka-生产
     *
     * */
    void testKafka();

    @Override
    public void testKafka() {
        KafkaTemplate<String,String> kafkaTemplate = SpringUtil.getBean(KafkaTemplate.class);;
        JSONObject params = new JSONObject();
        Map body = new HashMap();
        body.put("test","参数1");
        params.put("jsonStr",body);
        kafkaTemplate.send(new ProducerRecord<String, String>("topic-name",null,params.toString()));
    }

2、消费方


    /**
     * 消费监听
     *
     * */
    @KafkaListener(topics = {"topic_name"},groupId = "groupId_name")
    @ApiOperation(value = "kafka测试-消费监听", notes = "kafka测试-消费监听")
    public void testKafkaConsumer(String value){
        HWMqsThread receiveThread = new HWMqsThread(value);
        receiveThread.start();
        //相应业务逻辑处理代码......
    }
import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * @desc:华为云消息队列线程类
 */
@Data
@Slf4j
public class HWMqsThread extends Thread {

    /**
     * 消费信息字符串
     * */
    private String value;

    public HWMqsThread(String value){
        this.value = value;

    }

    @Override
    public void run(){
        //消费主题
        log.info("========================kafka消费消息成功=================================");
        if (ObjectUtil.isEmpty(value)){
            return;
        }
        log.info("========================kafka消费监听:value================================="+value);
        JSONObject jsonObject = JSON.parseObject(value);
        log.info("========================kafka消费监听:jsonObject================================="+jsonObject);
        System.out.println(jsonObject);
    }

}


尾言

以上是大致的学习积累,后续业务拓展使用接触到的新内容也会陆续更新上来,感谢阅读。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
华为云 MQTT(消息队列遥测传输)是华为云提供的一种消息传输协议,旨在简化物联网设备与云端的通信。MQTT采用发布-订阅模式,设备可以通过订阅特定的主题来接收来自云端或其他设备发布的消息,也可以通过发布消息来将数据发送到云端。 使用华为云MQTT可以实现以下功能: 1. 设备接入与认证:物联网设备可以连接到华为云,并通过认证机制保障通信的安全性。设备可以使用MQTT客户端连接到云端,同时需要提供认证信息以确保身份合法。 2. 消息传输:设备可以通过订阅主题接收来自云端或其他设备发布的消息。可以根据实际需要订阅不同的主题,以便获取感兴趣的消息。同时,设备也可以通过发布消息将数据发送到云端,实现设备与云端之间的双向通信。 3. 消息质量保证:MQTT在传输过程中提供了三种不同级别的消息质量保证,包括至多一次、至少一次和刚好一次。这样可以确保消息能够可靠地传递到接收方,避免数据丢失或重复传输。 4. 低功耗通信:MQTT协议具有较小的消息头,传输的消息量较小,可以降低设备的能耗,延长设备电池的使用寿命。此外,MQTT还提供了心跳机制,设备可以定期向云端发送心跳消息以保持连接状态。 5. 水平扩展:华为云MQTT支持高可用性和水平扩展,可以轻松应对海量设备的接入需求。使用华为云提供的云服务,可以弹性伸缩的方式部署和管理MQTT集群,确保系统的可靠性和稳定性。 总之,华为云MQTT提供了一种可靠、高效、安全的物联网设备与云端通信解决方案,适用于各种物联网场景,包括智能家居、智能城市、工业自动化等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值