消息框架RabbitMQ:
https://blog.csdn.net/whoamiyang/article/details/54954780
下面開始學習:本人親自測試成功。
寄件人-郵局-收件人
1.下載軟件:
2.安裝otp,elang語言
3.安裝RabbitMQ服務器
自己手動創建一個文件夾RabbitMQServer,再指定。
4.CMD,查看RabbitMQ目錄的sbin
查看插件列表:
開啓管理插件
就可以用瀏覽器:15672
guest/guest
進入
5.編寫生產者(不受語言影響)
新建一個maven項目
改pom.xml
<dependencies>
<dependency>
<groupId>com.rabbitmq</groupId>
<artifactId>amqp-client</artifactId>
<version>4.2.0</version>
</dependency>
</dependencies>
寫SendPerson類main方法
pom.xml加上
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
查看
接收消息
運行:可以看到控制檯獲得服務器上的消息~
而且發現它是不關的,一直阻塞中。
我們回到發送方,再發一次消息,控制檯立馬輸出信息了!!
擴展
消息框架二:
Kafka處理數據流分佈式消息框架,依賴Zookeeper
生產者->Topic(鍵,值)->消費者
步驟:
1. 下載
2. 解壓
3. 進入zookeeper的conf文件夾,複製zoo_sample.cfg重命名爲zoo.cfg
4. 使用命令行工具,進入bin目錄
5. 輸入zkServer 2181
6. 再啓動一個cmd窗口,啓動kafka 9092
中止掉9092
netstat –ano | findstr 9092
taskkill /pid 9092 /f
kafka-server-start.bat ../../config/server.properties
7. 創建maven項目
<dependencies>
<dependency>
<groupId>org.apache.kafka</groupId>
<artifactId>kafka-clients</artifactId>
<version>0.11.0.0</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>1.7.25</version>
</dependency>
</dependencies>
8. 寫生產者
9. 啓動TOPIC
查看topic:kafka-topics --list --zookeeper localhost:2181
10. 編寫消費者
運行
11. 再運行生產者
12. 組,相同的消費者組分配到各個消費者的實例(負載均衡)
複製生產者,一個爲A一個爲B。都開啓,然後運行生產者,發現兩個都有接收到消息。
複製生產者B爲B_1,發現一個組的只有一個接收。一臺宕機了,另一臺補上。
擴展:https://www.cnblogs.com/rainwang/p/7496147.html
三、RabbitMQ整合SpringCloud
消費者組
1. 複製114平臺改名爲spring-msg-server
2. 複製person改名爲spring-msg-producer
添加rabbitmq配置
pom.xml添加支持
以上報錯解決如下
寫一個接口
寫控制類
測試:
啓動RabbitMQ服務器
啓動Eureka服務器
啓動生產者
在Eureka服務器上看到註冊
發送信息到RabbitMQ
查看RabbitMQ
說明發送消息成功。下面進行接收消息。(其實就是複製上面的)
3. 複製person改名爲spring-msg-consumer
啓動就能收到Java007上的內容
改jdk版本
<build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.7</source> <target>1.7</target> <encoding>UTF-8</encoding> </configuration> </plugin> </plugins> </build> |
四、整合kafka
最簡單的就是隻要改依賴,注意下載,有時候下不全
也可以改application.yml文件,生產者和消息者都改成一樣
測試:
啓動zookeeper
啓動kafka
啓動Eureka服務器
啓動生產者app,發送一個消息
查看kafka是否收到:如下代表收到。
啓動消息者app:
控制檯能收到消息
說明成功。
視頻及資料稍後上傳百度雲。