原创 【消息中間件】RabbitMQ入門基礎篇
一、消息通信模型 生產者創建消息,消費者接收這些消息。消息的媒介爲建立在真實TCP連接上的虛擬信道(channel)。 二、什麼是信道?爲什麼要建立信道? 發佈消息到RabbitMQ,首先需要先連接到RabbitMQ,才能消費或
原创 【消息中間件】RabbitMQ如何保證消息的可靠傳輸
一、消息持久化 在消息發佈前,通過把它的投遞模式(delivery mode)選項設置爲2來把消息標記爲持久化。 1.1 消息持久化過程: 當發佈一條持久化消息到持久化交換器上時(帶有durable=
原创 【入門教程】Spring Cloud Stream 入門
一、什麼是Spring Cloud Stream? Spring Cloud Stream is a framework for building highly scalable event-driven microservices c
原创 【解決方案】RabbitMQ中exchange和DLQ設置出現type longstr but current is none
AlternateExchange是RabbitMQ中自定義的備用交換機的名稱 Channel shutdown: channel error; protocol method: #method<channel.close>(repl
原创 【解決方案】MySql設置默認的createTime、updateTime
在創建時間字段的時候 DEFAULT CURRENT_TIMESTAMP 表示當插入數據的時候,該字段默認值爲當前時間 ON UPDATE CURRENT_TIMESTAMP 表示每次更新這條數據的時候,該字段都會更新成當前時間 這兩個操
原创 【解決方案】docker構建zookeeper
一、編寫docker-compose.yml version: '3' services: zookeeper: image: "zookeeper:3.4.9" container_name: "zookeeper
原创 【解決方案】springboot引入通用配置文件
springboot中spring.profiles.include的妙用。 我們有這樣的一個springboot項目。項目分爲開發、測試、生產三個不同階段(環境),每個階段都會有db、ftp、redis等的不同配置信息。我們可以使用
原创 【解決方案】@Valid校驗list無效
校驗List @Valid只能校驗JavaBean,而List不是JavaBean所以校驗會失敗,解決方案如下: @Data public class ListWrapper<E> { @NotEmpty @Val
原创 【Netty專欄】三、IO多路複用
一、背景 在I/O編程過程中,當需要同時處理多個客戶端接入請求時,可以利用多線程或者I/O複用技術進行處理。 二、什麼是IO多路複用? 通過把多個I/O的阻塞複用到一個select的阻塞上,從而使得系統在單線程的情況下可以同時處理多個客
原创 【解決方案】springboot增加全局時間轉換器
@Configuration public class GlobalDateConvertConfig { /** * Date轉換器,用於轉換RequestParam和PathVariable參數 */
原创 【Netty專欄】二、Linux網絡I/O模型簡介
Linux的內核將所有外部設備都看作一個文件來操作,對一個文件的讀寫會調用內核提供的系統命令,返回一個file descriptor(fd,即文件描述符)。而對於一個socket的讀寫也會有相應的描述符,稱爲socketf
原创 【解決方案】docker-compose命令未找到怎麼辦?
一、問題: 二、解決: 2.1 進入下面的網址下載目前的最新版: https://github.com/docker/compose/releases/tag/1.26.0-rc3 2.2 網頁拉到最下面,下載: docke
原创 【知識課堂】Centos7開放及查看端口
1、開放端口 firewall-cmd --zone=public --add-port=5672/tcp --permanent # 開放5672端口 firewall-cmd --zone=public --remove-por
原创 【解決方案】shell腳本判斷內存佔用率
#!/bin/bash maxMemoryUse=30 memoryUsed=$(free -m|sed -n '2p'|awk '{printf("%.2f\n",($3-$6-$7)/$2*100)}') if [ $(echo "
原创 【解決方案】mysql開啓遠程訪問權限的設置
MySql-Server 出於安全方面考慮默認只允許本機(localhost, 127.0.0.1)來連接訪問. 所以必須給root修改可以遠程訪問的權限 1.在連接服務器後,操作mysql系統數據庫 命令爲: mysql -u r