原创 RabbitMQ(三):RabbitMQ 使用場景

一. RabbitMQ 簡介 二. RabbitMQ 使用場景 2.1 解耦 2.2 異步提升效率 2.3 流量削峯 三. 引入消息隊列的優缺點 優點 缺點 總結 一. RabbitMQ 簡介 MQ全稱爲Mes

原创 RabbitMQ(七):RabbitMQ 消費端限流、TTL、死信隊列是什麼?

消費端限流 1. 爲什麼要對消費端限流 假設一個場景,首先,我們 Rabbitmq 服務器積壓了有上萬條未處理的消息,我們隨便打開一個消費者客戶端,會出現這樣情況: 巨量的消息瞬間全部推送過來,但是我們單個客戶端無法同時處理這麼多

原创 RabbitMQ(四):RabbitMQ與Spring Boot簡單整合 快速嚐鮮版

RabbitMQ是目前非常熱門的一款消息中間件,不管是互聯網大廠還是中小企業都在大量使用。Spring Boot的興起,極大地簡化了Spring的開發,本文將使用Spring Boot與RabbitMQ進行簡單整合,實現生產和消費

原创 面試官問你 SpringMVC 的工作原理,你還不知道嗎?

SpringMVC的工作原理圖: SpringMVC流程 1、 用戶發送請求至前端控制器DispatcherServlet。 2、 DispatcherServlet收到請求調用HandlerMapping處理器映射器。 3

原创 關於 MyBatis動態sql,這裏有 10 種超好用的寫法!

1. 用來循環容器的標籤forEach,查看例子 foreach元素的屬性主要有item,index,collection,open,separator,close。 item:集合中元素迭代時的別名, index:集合中元素

原创 RabbitMQ(五):RabbitMQ 之簡單隊列

RabbitMQ 簡述 RabbitMQ是一個消息代理:它接受並轉發消息。 您可以將其視爲郵局:當您將要把寄發的郵件投遞到郵箱中時,您可以確信Postman 先生最終會將郵件發送給收件人。 在這個比喻中,RabbitMQ是一個郵箱

原创 RabbitMQ(八):SpringBoot 整合 RabbitMQ(三種消息確認機制以及消費端限流)

說明 本文 SpringBoot 與 RabbitMQ 進行整合的時候,包含了三種消息的確認模式,如果查詢詳細的確認模式設置,請閱讀:RabbitMQ的三種消息確認模式 同時消費端也採取了限流的措施,如果對限流細節有興趣請參照之前

原创 分佈式主鍵解決方案----Twitter 雪花算法的原理(Java 版)

SnowFlake 雪花算法 對於分佈式系統環境,主鍵ID的設計很關鍵,什麼自增intID那些是絕對不用的,比較早的時候,大部分系統都用UUID/GUID來作爲主鍵,優點是方便又能解決問題,缺點是插入時因爲UUID/GUID的不規

原创 必學必會的nginx配置location匹配順序總結

location 匹配規則: location 路徑正則匹配: 符號 說明 ~ 正則匹配,區分大小寫 ~* 正則匹配,不區分大小寫 ^~ 普通字符匹配,如果該選項匹配,則,只匹配該選項,不再向下匹配其他選項

原创 springboot實戰 獲取spring上下文的4種方式

實際開發中我們經常需要通過spring上下文獲取一些配置信息,本文闡述springboot應用獲取spring上下文的幾種方式。 方式一:實現ApplicationContextAware接口 import org.springf

原创 強烈推薦16 款牛逼的 IDEA 插件,讓你開發速度飛起來!

當前最新版IDEA版本是2020.1。隨着IDEA版本的升級,有些插件不再支持,而有些插件變成了收費插件,這些插件將不再推薦。 以下列舉的,都是親測可以在2020.1版本的IDEA中使用的插件。 google-java-form

原创 Elasticsearch入常用RESTful API總結

RESTful API HTTP動詞介紹 對於資源的具體操作類型,由HTTP動詞表示。 常用的HTTP動詞有下面五個(括號裏是對應的SQL命令)。 GET(SELECT):從服務器取出資源(一項或多項)。 POST(CREAT

原创 圖文解說nginx中server的匹配順序

在開始處理一個http請求時,nginx會取出header頭中的host,與nginx.conf中每個server的server_name進行匹配,以此決定到底由哪一個server塊來處理這個請求。 server_name與hos

原创 徒手解密 Spring Boot 中的 Starter自動化配置黑魔法

我們使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中。Starter 爲我們帶來了衆多的自動化配置,有了這些自動化配置,我們可以不費吹灰之力就能搭建一個生產級開發環境,有的小夥伴會覺得這個 Starter

原创 利用gitHook實現自動部署

gitHook 當進行開發的環境在本地,而運行的環境要在服務端時,每一次提交代碼都需要在服務端pull一次。而利用git的hooks功能,能夠讓我們省去這一步,下面我就以碼雲的webhooks爲例,實現服務端的代碼自動同步部署。 瞭解