原创 Spring高級話題-測試

一、關於Spring中的測試 在開發過程中開發人員會經常使用到兩種測試方式,單元測試和集成測試 單元測試:只針對單一的類或方法,對運行環境沒有依賴 集成測試:需要來自不同層的不同對象的交互,如數據庫,網絡連接,ioc容器等 S

原创 Spring常用配置-Profile

一、Profile是什麼? 在企業開發中,項目開發環境和產品環境的配置是不同的(如數據庫的配置)。 Profile爲不同環境下使用不同的配置提供了支持 二、如何使用profile 通過設定Environment的Actic

原创 Spring常用配置-Event

一、什麼是Event? Spring的Event(事件)爲Bean與Bean之間的消息通信提供了支持。 通俗來說,當BeanA處理完事情,我們希望BeanB知道BeanA處理了這件事情並作出相應處理,這個時候我們就要用到Even

原创 Spring常用配置 - Bean的Scope

一、Scope是什麼? Scope: 描述Spring容器如何創建Bean的實例 二、Scope具體內容 @Scope的value有5個,分別解釋下: @Scope 意義 Singleton Spring的默認配

原创 Spring常用配置 - EL及使用資源文件

一、Spring EL是什麼? Spring表達式語言,支持在xml和註解中使用表達式,類似於JSP的el表達式語言。 二、怎麼使用? Spring主要在 @Value註解 使用表達式, 實現資源的注入。 可以注入包括以下內

原创 Spring常用配置-Bean的初始化和銷燬

一、如何Bean的生命週期進行操作 Spring對Bean的生命週期操作提供了支持 java配置方式: 使用Bean的initMethod和destoryMethod進行配置 二、BeanWayDemo Bean packag

原创 Docker本地部署RocketMq

部署流程 前期準備 本地環境: macOS 10.14.6 docker 1.拉取官方鏡像 docker pull rocketmqinc/rocketmq 成功拉取可以看到對應鏡像: 2.運行docker容器 運行names

原创 記一次RocketMQ的重複消費問題

問題現場 博主正在負責一個數據服務平臺,某一天,下游客戶突然找上門來,說平臺消費後保存的數據存在大量重複現象,於是迅速展開了排查。 排查解決 part1 博主排查了上游數據,排查了rocketmq server端,但是卻忽視掉了消

原创 Docker基礎操作

一.docker下載安裝 Docker Hub下載地址(Mac) 二.創建docker鏡像 本地創建一個空目錄,並創建如下三個文件: 1.Dockerfile # Use an official Python runtime as

原创 RocketMQ使用場景之吞吐量優先Case

一、Broker端進行消息過濾,提高吞吐量 在 Broker端進行消息過濾,可以減少無效消息發送到 Consumer,少佔用網絡帶寬從而提高吞吐量 。 過濾方式: 方式1: 通過tag 和 key 進行過濾(在創建Message時設置

原创 RocketMQ使用場景之可靠性優先Case

一、順序消息的實現 1.全局順序消息 要保證全局順序消息,需要先把 Topic 的讀寫隊列數設置爲 1, 然後 Producer 和 Consumer 的併發設置也要是1。 在發送端,要做到 把同一業務 ID 的消息發送到同一個 Me

原创 RocketMQ角色詳解之Broker

一、Broker概述 Broker是 RocketMQ 的核心,大部分‘重量級”工作都是由 Broker完成的。 包括接收 Producer 發過來的消息、處理 Consumer 的消費消息請求、消息的持 久化存儲、消息的 HA 機制

原创 RocketMQ的環境搭建與相關配置

一、RocketMQ的下載 http://rocketmq.apache.org/dowloading/releases/ 二、RocketMQ環境搭建 搭建一個單機版的RocketMQ沒有太大的實用價值,所以在這裏搭建一個雙主 、

原创 RocketMQ角色詳解之Producer

一、常用Producer類 最常用的producer類就是DefaultMQProducer,具體使用看下文 二、DefaultMQProducer的消息發送步驟 設置 ProducerGroupName 設置 lnstanceNa

原创 RocketMQ角色詳解之NameServer

一、NameServer的功能 NameServer是整個消息隊列中的狀態服務器,集羣的各個組件通過它來了解全局的信息 。 需要了解的兩個知識: 熱備份: NamServer可以部署多個,相互之間獨立,其他角色同時向多個NameSe