原创 Springboot集成mapstruct

一、什麼是mapstruct MapStruct是一個代碼生成器的工具類,簡化了不同的Java Bean之間映射的處理,所以映射指的就是從一個實體變化成一個實體。在實際項目中,我們經常會將PO轉DTO、DTO轉PO等一些實體間的轉

原创 RabbitMQ生產端可靠性投遞

對於消息的生產端的可靠投遞,我們常見的解決方案有兩種 1.消息落庫,對消息狀態進行打標 2.消息的延遲投遞,做二次確認,回調檢查 1、消息落庫,對消息狀態進行打標 上面圖片爲消息落庫,對消息狀態進行打標的常見步驟(狀態0表示

原创 aop鏈式調用

多個aop如果疊加 採用了責任鏈的模式 使用ConcerteHandler實現類實現HandleProcess接口同時這個實現類又組合了這個接口,通過successor判斷來進行鏈式調用 首先我們新建一個Handler pu

原创 消費端限流、重回隊列、TTL以及死信隊列

什麼是消費端的限流? 假設一個場景,首先,我們Rabbitmq服務器有上萬條未處理的消息,我們隨便打開一個消費者客戶端,會出現下面情況: 巨量的消息瞬間全部推送過來,但是我們單個客戶端無法同時處理這麼多數據! RabbitMQ提

原创 如何保證消息消費的冪等性

冪等性概念及業界主流解決方案 冪等性:就是用戶對於同一操作發起的一次請求或者多次請求的結果是一致的,不會因爲多次點擊而產生了副作用。舉個最簡單的例子,那就是支付,用戶購買商品使用約支付,支付扣款成功,但是返回結果的時候網絡異常,

原创 hadoop僞分佈式集羣安裝

一、下載hadoop安裝包 hadoop安裝包分爲apache官方以及CDH,具體區別在此不做介紹,本次搭建選擇的是hadoop-2.6.0-cdh5.7.0版本 下載路徑http://archive.cloudera.com/c

原创 使用Java操作HBase數據庫

一、添加依賴 首先我們在maven項目中添加下面兩個依賴 <!-- hbase依賴 --> <dependency> <groupId>org.apache.hbase</groupId> <artifactId>

原创 手寫SpringMVC,劍指優秀開源框架靈魂

由於Spring官方就是選擇gradle作爲自動化構建工具,所以我們在本次嘗試中就按照spring的選擇也是用gradle 在整個項目中,我們一共包含兩個模塊framework模塊用於首先實現我們springmvc的常見功能,te

原创 HBase中使用過濾器篩選數據

一、過濾器能幹什麼 HBase爲篩選數據提供了一組過濾器,通過過濾器可以在HBase中的數據的多個維度(行,列,數據版本)上進行對數據的篩選操作。 通常來說,通過行鍵、列來篩選數據的應用場景較多。 二、常見的過濾器 基於

原创 漢諾塔問題總結

一、基本遞歸實現 下面是普遍的漢諾塔問題的遞歸解法代碼 public class Hanoi{ public static void hanoi(int n, String x, String y, String z){

原创 HBase僞分佈式集羣安裝

一、下載HBase安裝包 爲了防止HBase和Hadoop版本間衝突,可以在CDH上下載和Hadoop兼容的HBase版本,本次搭建選擇的是hbase-1.2.0 下載路徑:http://archive.cloudera.com/

原创 HDFS高可用集羣搭建

環境 CentOS 7 JAVA 1.8 Zookeeper 2.9.2 Hadoop 3.4.14 一、簡單HDFS集羣中存在的問題及解決辦法 如何解決NameNode的單節點問題 多個NameNode備份原Nam

原创 Kafka初試

二、安裝Kafka 安裝Java 安裝Zookeeper 啓動命令: zkServer.sh start 停止命令: zkServer.sh stop 安裝Kafka 啓動命令: kafka-server-start.s

原创 創建一個基於redis的id生成器

參考文章: https://blog.csdn.net/hengyunabc/article/details/44244951 https://www.jianshu.com/p/955909e1bd71 https://tec

原创 使用iTerm2和OhMyZsh實現一個強大終端

參考文章: https://blog.csdn.net/qianghaohao/article/details/79440961 https://www.jianshu.com/p/9c3439cc3bdb https://www