国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息

這篇具有很好參考價值的文章主要介紹了搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

作者主頁:Designer 小鄭
作者簡介:3年JAVA全棧開發(fā)經(jīng)驗,專注JAVA技術、系統(tǒng)定制、遠程指導,致力于企業(yè)數(shù)字化轉(zhuǎn)型,CSDN博客專家,藍橋云課認證講師。

一、前言

1.1 什么是消息隊列

消息隊列是一種在應用程序之間傳遞數(shù)據(jù)的通信機制,它基于 發(fā)布-訂閱 模式,將消息發(fā)送者(發(fā)布者)和消息接收者(訂閱者)解耦,使得它們可以獨立地進行消息的發(fā)送和接收。

在消息隊列中,消息發(fā)送者將消息發(fā)送到隊列中,而消息接收者則從隊列中獲取消息進行處理。消息隊列提供了一種異步的通信方式,即發(fā)送者發(fā)送消息后不需要等待接收者的回復,而可以立即繼續(xù)執(zhí)行其他操作。同時,消息隊列還可以實現(xiàn)消息的持久化存儲,確保消息在發(fā)送和接收過程中的可靠性。

消息隊列的應用場景非常廣泛,例如:

  • 在分布式系統(tǒng)中,可以用消息隊列來實現(xiàn)不同模塊之間的解耦;
  • 在高并發(fā)系統(tǒng)中,可以利用消息隊列來緩解系統(tǒng)壓力;
  • 在實時數(shù)據(jù)處理中,可以將數(shù)據(jù)存儲在消息隊列中,再由數(shù)據(jù)處理模塊進行處理。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

1.2 RabbitMQ 是什么

RabbitMQ是一個開源的消息隊列中間件,它實現(xiàn)了高級消息隊列協(xié)議),并提供了可靠的消息傳遞機制。

RabbitMQ使用Erlang語言編寫,具有高度可靠、可擴展、靈活和可插拔的特性,被廣泛應用于分布式系統(tǒng)、微服務架構、異步任務處理等場景。

RabbitMQ基于生產(chǎn)者和消費者模型工作。生產(chǎn)者將消息發(fā)送到RabbitMQ的交換機,然后交換機將消息路由到一個或多個隊列,消費者從隊列中獲取消息并進行處理。

RabbitMQ 支持多種消息傳遞模式,同時還提供了消息的持久化、消息優(yōu)先級、消息確認機制等特性,確保消息的可靠性和可靠傳輸。

RabbitMQ是一個成熟、可靠的消息隊列中間件,提供了強大的消息傳遞機制和豐富的特性,被廣泛應用于分布式系統(tǒng)和異步消息處理中。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

1.3 為什么需要用到 RabbitMQ

  1. 解耦:RabbitMQ通過消息隊列實現(xiàn)了生產(chǎn)者和消費者的解耦。生產(chǎn)者將消息發(fā)送到隊列中,而消費者從隊列中獲取消息并進行處理。這種解耦使得系統(tǒng)中的不同模塊能夠獨立進行開發(fā)和部署,提高了系統(tǒng)的靈活性和可維護性。

  2. 異步通信:RabbitMQ提供了一種異步通信機制。生產(chǎn)者發(fā)送消息到隊列后,不需要等待消費者立即處理,而可以繼續(xù)執(zhí)行其他操作。這種異步通信能夠提升系統(tǒng)的并發(fā)性能和響應速度。

  3. 緩沖和削峰:RabbitMQ可以作為一個緩沖區(qū),用于存儲來自生產(chǎn)者的消息。這樣可以避免生產(chǎn)者和消費者之間的直接耦合,同時也能夠應對瞬時的高并發(fā)請求,減輕系統(tǒng)壓力。

  4. 可靠性和可恢復性:RabbitMQ提供了持久化消息的功能,即使在消息隊列或消費者故障的情況下,消息也可以得到保留和恢復。這種可靠性保證了消息的不丟失和可靠傳遞。

  5. 擴展性:RabbitMQ是一個可擴展的消息隊列中間件,可以在需要的時候增加更多的消息隊列和消費者節(jié)點,以應對不斷增長的業(yè)務需求。

  6. 多語言支持:RabbitMQ提供了多種編程語言的客戶端,如Java、Python、C#等,使得開發(fā)者可以選擇合適自己的編程語言與RabbitMQ進行交互。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

1.4 RabbitMQ 相比 Kafka 的優(yōu)勢

RabbitMQ 提供了簡單易用的 API 和管理界面,使得開發(fā)者可以快速上手并進行配置和管理,相比之下,Kafka 的配置和管理相對復雜一些。

RabbitMQ 支持多種消息傳遞模式和消息的路由選擇機制,可以根據(jù)需求進行靈活的消息處理,而Kafka更適用于大規(guī)模的高吞吐量流式處理,通常使用發(fā)布-訂閱模式。

RabbitMQ 具備持久化消息、消息確認機制等特性,可以確保消息的可靠傳輸,而 Kafka 通過多副本機制和消息日志的方式,提供了高度可靠性的消息傳遞。

RabbitMQ 可以通過設置隊列的限流策略和消費者的消費速率來進行流量控制和削峰處理,能夠保護消費者免受過多的消息推送,而Kafka則將消費者的消費速率控制交給消費者自身,在高并發(fā)場景下可能需要額外處理。

RabbitMQ 提供了多種編程語言的客戶端,開發(fā)者可以根據(jù)自己的編程需求選擇合適的客戶端進行交互,而Kafka的客戶端主要集中在Java語言上,對其他語言的支持相對較少。

RabbitMQ 擁有龐大的開源社區(qū)和豐富的生態(tài)系統(tǒng),提供了豐富的插件和集成工具,方便開發(fā)者進行擴展和集成,Kafka的生態(tài)系統(tǒng)相對較小,但在大數(shù)據(jù)領域有廣泛的應用和支持。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃


二、搭建 RabbitMQ 環(huán)境

2.1 安裝 Erlang

Erlang 是 RabbitMQ 消息服務的基礎環(huán)境,就像 Java 的 JDK 一樣,是必須安裝的。

2.1.1 下載

Erlang 官網(wǎng)下載地址:下載地址。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

因為我們要把 RabbitMQ 服務裝在服務器上,所以同學們可以在服務器上下載 Erlang 安裝包,或者下載后手動上傳至服務器。

2.1.2 安裝

下載完成后雙擊安裝包,按照提示流程正常安裝即可,截圖如下所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.1.3 環(huán)境變量配置

變量名如下,變量值是安裝的路徑,如下圖所示。

ERLANG_HOME

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

驗證命令如下:

erl -v

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.2 安裝 RabbitMQ

2.2.1 下載

RabbitMQ 需要在 Github 中下載,下載地址。

RabbitMQ 版本需要和 Erlang 對應,本文安裝的是 3.9.5 版本。

2.2.2 安裝

安裝流程如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.2.3 初始化

安裝完成后,使用 cmd 窗口,進入 RabbitMQ 的 sbin 目錄,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃
接著輸入以下命令,完成初始化安裝。

rabbitmq-plugins enable rabbitmq_management

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.2.4 驗證

打開瀏覽器,輸入:

http://localhost:15672

賬號密碼都是:

guest

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃
搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.3 配置外網(wǎng)訪問

2.3.1 添加新用戶

RabbitMQ 默認端口為15672,用戶名和密碼都為guest,是不允許外部訪問的。

所以我們要添加新用戶,實現(xiàn)外網(wǎng)訪問,操作流程如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

點擊添加后,輸入新用戶的賬號和密碼,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

2.3.2 Virtual Host 配置

Virtual Host 需要允許添加的用戶訪問,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

進入子界面后,選擇用戶后提交,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

然后,我們就完成了外網(wǎng)訪問的配置。


三、整合 RabbitMQ 消息服務

3.1 創(chuàng)建新的 SpringBoot 項目

打開 IDEA 工具,新建項目,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

新項目創(chuàng)建完成后,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag & 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

3.2 引入依賴

首先,請在 pom.xml 中引入依賴,代碼如下。

<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

3.3 配置文件

application.yml 配置如下。

spring:
  rabbitmq:
    host: 118.126.82.167
    port: 5672
    username: zwz
    password: 123456
    listener:
      simple:
        retry:
          enabled: true
          max-attempts: 5
          initial-interval: 2s

3.4 創(chuàng)建消息發(fā)送工具類

請同學們創(chuàng)建 SimpleProducer 工具類,代碼如下。

package cn.zwz.send;

import com.rabbitmq.client.Channel;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.ConnectionFactory;

public class SimpleProducer {

    public static void main(String[] args) {
        //1. 創(chuàng)建連接工程
        ConnectionFactory connectionFactory = new ConnectionFactory();
        //1.1 設置連接IP
        connectionFactory.setHost("118.126.82.167");
        //1.2 設置連接端口
        connectionFactory.setPort(5672);
        //1.3 設置用戶名
        connectionFactory.setUsername("zwz");
        //1.4 設置密碼
        connectionFactory.setPassword("123456");
        //1.5 設置虛擬訪問節(jié)點,就是消息發(fā)送的目標路徑
        connectionFactory.setVirtualHost("/");

        Connection connection = null;
        Channel channel = null;
        try {
            //2. 創(chuàng)建連接Connection
            connection = connectionFactory.newConnection("ZWZ-Connection");
            //3. 通過連接獲取通道Channel
            channel = connection.createChannel();
            //4. 通過通道創(chuàng)建交換機,聲明隊列,綁定關系,路由key,發(fā)送消息,接收消息
            String queueName = "ZWZ-TOPIC";
            /**
             * channel.queueDeclare有5個參數(shù)
             * params1: 隊列的名稱
             * params2: 是否要持久化, false:非持久化 true:持久化
             * params3: 排他性,是否獨占隊列
             * params4: 是否自動刪除,如果為true,隊列會隨著最后一個消費消費完后將隊列自動刪除,false:消息全部消費完后,隊列保留
             * params5: 攜帶的附加參數(shù)
             */
            channel.queueDeclare(queueName, true, false, false, null);
            //5. 消息內(nèi)容
            String message = "HELLO World!";
            //6. 將消息發(fā)送到隊列
            channel.basicPublish("", queueName, null, message.getBytes());
            System.out.println("消息發(fā)送成功");
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //7. 關閉通道
            if (channel != null && channel.isOpen()) {
                try {
                    channel.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            //8. 關閉連接
            if (connection != null && connection.isOpen()) {
                try {
                    connection.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

3.5 發(fā)消息功能測試

發(fā)消息很簡單,運行 main 函數(shù)即可。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag &amp; 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

發(fā)送成功后,后臺可以接收到數(shù)據(jù),如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag &amp; 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃
搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag &amp; 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

3.6 創(chuàng)建消息接收工具類

請同學們創(chuàng)建 SimpleConsumer 工具類,代碼如下。

package cn.zwz.send;

import com.rabbitmq.client.*;

import java.io.IOException;

public class SimpleConsumer {

    public static void work() {
        //1. 創(chuàng)建連接工程
        ConnectionFactory connectionFactory = new ConnectionFactory();
        //1.1 設置連接IP
        connectionFactory.setHost("118.126.82.167");
        //1.2 設置連接端口
        connectionFactory.setPort(5672);
        //1.3 設置用戶名
        connectionFactory.setUsername("zwz");
        //1.4 設置密碼
        connectionFactory.setPassword("123456");
        //1.5 設置虛擬訪問節(jié)點,就是消息發(fā)送的目標路徑
        connectionFactory.setVirtualHost("/");

        Connection connection = null;
        Channel channel = null;
        try {
            //2. 創(chuàng)建連接Connection
            connection = connectionFactory.newConnection("ZWZ-Connection");
            //3. 通過連接獲取通道Channel
            channel = connection.createChannel();
            //4. 通過通道創(chuàng)建交換機,聲明隊列,綁定關系,路由key,發(fā)送消息,接收消息
            String queueName = "ZWZ-TOPIC";
            //5. 接收消息并消費消息
            channel.basicConsume(queueName, true, new DeliverCallback() {
                @Override
                public void handle(String consumerTag, Delivery message) throws IOException {
                    System.out.println("接收到的消息內(nèi)容是:" + new String(message.getBody(), "UTF-8"));
                }
            }, new CancelCallback() {
                @Override
                public void handle(String consumerTag) throws IOException {
                    System.out.println("消息接收失敗。。。");
                }
            });
            System.out.println("開始接受消息。。。。");
            //阻斷程序
            System.in.read();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            //7. 關閉通道
            if (channel != null && channel.isOpen()) {
                try {
                    channel.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
            //8. 關閉連接
            if (connection != null && connection.isOpen()) {
                try {
                    connection.close();
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
    }
}

接著在啟動類上配置運行,代碼如下。

package cn.zwz.send;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class SendApplication {

	public static void main(String[] args) {
		new SimpleConsumer().work();
		SpringApplication.run(SendApplication.class, args);
	}
}

3.7 收消息功能測試

請同學們運行 SpringBoot 啟動類,然后再次發(fā)送消息,就可以看到消息內(nèi)容了,如下圖所示。

搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag &amp; 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃

四、總結(jié)

本文首先簡單介紹了 RabbitMQ,然后和 Kafka 等熱門消息隊列進行對比,最后演示了 RabbitMQ 的完整安裝配置整合流程,幫助零基礎的小白入門 RabbitMQ 開發(fā)。


搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息,Flag &amp; 經(jīng)驗分享,java-rabbitmq,rabbitmq,spring boot,消息隊列,中間件,云原生,kafka,原力計劃文章來源地址http://www.zghlxwxcb.cn/news/detail-704814.html

到了這里,關于搭建RabbitMQ消息服務,整合SpringBoot實現(xiàn)收發(fā)消息的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • 【RabbitMQ與SpringBoot集成測試收發(fā)消息】

    【RabbitMQ與SpringBoot集成測試收發(fā)消息】

    安裝環(huán)境:虛擬機VMWare + Centos7.6 + Maven3.6.3 + JDK1.8 RabbitMQ版本:rabbitmq-server-3.8.8-1.el7.noarch.rpm 編程工具Idea + 運行JDK為17 在RabbitMQ的UI界面或命令行上 創(chuàng)建新的Virtual Host ,取名為 vhtest02 ,如下圖所示: 使用Idea的 Spring Initializr 創(chuàng)建生產(chǎn)者工程 springrabbitmqtest ,坐標如下: 配置

    2024年02月13日
    瀏覽(24)
  • 消息隊列-RabbitMQ:延遲隊列、rabbitmq 插件方式實現(xiàn)延遲隊列、整合SpringBoot

    消息隊列-RabbitMQ:延遲隊列、rabbitmq 插件方式實現(xiàn)延遲隊列、整合SpringBoot

    1、延遲隊列概念 延時隊列內(nèi)部是有序的 , 最重要的特性 就體現(xiàn)在它的 延時屬性 上,延時隊列中的元素是希望在指定時間到了以后或之前取出和處理,簡單來說, 延時隊列就是用來存放需要在指定時間被處理的元素的隊列。 延遲隊列使用場景: 訂單在十分鐘之內(nèi)未支付則

    2024年02月22日
    瀏覽(20)
  • 207、SpringBoot 整合 RabbitMQ 實現(xiàn)消息的發(fā)送 與 接收(監(jiān)聽器)

    207、SpringBoot 整合 RabbitMQ 實現(xiàn)消息的發(fā)送 與 接收(監(jiān)聽器)

    1、ContentUtil 先定義常量 2、RabbitMQConfig 創(chuàng)建隊列的兩種方式之一: 配置式: 在容器中配置 org.springframework.amqp.core.Queue 類型的Bean,RabbitMQ將會自動為該Bean創(chuàng)建對應的隊列。 就是在配置類中創(chuàng)建一個生成消息隊列的@Bean。 問題: 用 @Configuration 注解聲明為配置類,但是項目啟動

    2024年02月06日
    瀏覽(26)
  • 一文帶你如何用SpringBoot+RabbitMQ方式來收發(fā)消息

    一文帶你如何用SpringBoot+RabbitMQ方式來收發(fā)消息

    預告了本篇的內(nèi)容:利用RabbitTemplate和注解進行收發(fā)消息,還有一個我臨時加上的內(nèi)容:消息的序列化轉(zhuǎn)換。 本篇會和SpringBoot做整合,采用自動配置的方式進行開發(fā),我們只需要聲明RabbitMQ地址就可以了,關于各種創(chuàng)建連接關閉連接的事都由Spring幫我們了~ 交給Spring幫我們管

    2024年02月09日
    瀏覽(24)
  • SpringBoot 2.2.5 整合RabbitMQ,實現(xiàn)Topic主題模式的消息發(fā)送及消費

    1、simple簡單模式 消息產(chǎn)生著§將消息放入隊列 消息的消費者(consumer) 監(jiān)聽(while) 消息隊列,如果隊列中有消息,就消費掉,消息被拿走后,自動從隊列中刪除(隱患 消息可能沒有被消費者正確處理,已經(jīng)從隊列中消失了,造成消息的丟失)應用場景:聊天(中間有一個過度的服務器;p端,c端

    2024年02月02日
    瀏覽(26)
  • SpringCloudStream集成RabbitMQ實現(xiàn)消息收發(fā)

    SpringCloudStream集成RabbitMQ實現(xiàn)消息收發(fā)

    ? SpringCloudStream 是一個構建高擴展和事件驅(qū)動的微服務系統(tǒng)的框架,用于連接共有消息系統(tǒng),官網(wǎng)地址:?spring.io/projects/sp…?。整體上是把各種花里胡哨的MQ產(chǎn)品抽象成了一套非常簡單的統(tǒng)一的編程框架,以實現(xiàn)事件驅(qū)動的編程模型。社區(qū)官方實現(xiàn)了RabbitMQ,Apache Kafka,Kaf

    2024年02月03日
    瀏覽(18)
  • 使用StreamBridge實現(xiàn)RabbitMq 消息收發(fā) && ack確認 && 延時消息

    使用StreamBridge實現(xiàn)RabbitMq 消息收發(fā) && ack確認 && 延時消息

    下載地址:link 1.下載完成放到rabbitmq安裝目錄plugins下 2.執(zhí)行命令啟用插件 3.重啟mq Exchanges - add a new exchange - type 出現(xiàn)x-delayed-message即安裝成功

    2024年02月11日
    瀏覽(57)
  • 【SpringBoot框架篇】35.kafka環(huán)境搭建和收發(fā)消息

    【SpringBoot框架篇】35.kafka環(huán)境搭建和收發(fā)消息

    kafka依賴java環(huán)境,如果沒有則需要安裝jdk kafka3.0版本后默認自帶了zookeeper,3.0之前的版本需要單獨再安裝zookeeper,我使用的最新的3.6.1版本。 cd到kafka的安裝根目錄后,執(zhí)行下面命令指令 zookeeper.properties 文件路徑啟動zookeeper,默認啟動的zk服務使用內(nèi)存是512m,可以修改 zookeeper-server

    2024年01月18日
    瀏覽(18)
  • Springboot整合RabbitMQ消息中間件

    spring-boot-rabbitmq–消息中間件整合 前言:RabbitMQ的各種交換機說明 1、直連交換機 生產(chǎn)者發(fā)布消息時必須帶著routing-key,隊列綁定到交換機時必須指定binding-key ,且routing-key和binding-key必須完全相同,如此才能將消息路由到隊列中 直連交換機通常用來循環(huán)分發(fā)任務給多個workers,

    2024年02月11日
    瀏覽(33)
  • 消息隊列——spring和springboot整合rabbitmq

    消息隊列——spring和springboot整合rabbitmq

    目錄 spring整合rabbitmq——生產(chǎn)者 rabbitmq配置文件信息 倒入生產(chǎn)者工程的相關代碼 簡單工作模式 spring整合rabbitmq——消費者 spring整合rabbitmq——配置詳解 SpringBoot整合RabbitMQ——生產(chǎn)者 ?SpringBoot整合RabbitMQ——消費者 ? 使用原生amqp來寫應該已經(jīng)沒有這樣的公司了 創(chuàng)建兩個工程

    2024年02月16日
    瀏覽(28)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包