原创 【消息中間件】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