原创 dubbo服務鏈路跟蹤

目前很多業務使用微服務架構,服務模塊劃分有這2種方式: 服務功能劃分 業務劃分 不管哪種方式,一次接口調用都需要多個服務協同完成,其中一個服務出現問題,都會導致最終失敗,雖然有logback + kafka + ELK 這樣的神器架構,但

原创 logback+springboot 使用

      logback輸出的日誌,一般會輸出到文件中,再通過logstash、filebeat採集日誌文本到es,或者通過kafka輸出到es,然後通過kibana查看統計日誌。日誌格式都是json串,格式固定,方便處理,例如: 1

原创 Rockemq-console搭建

一、下載rocketmq-console源碼 源碼地址 二、修改相關配置(終端工具修改或者導入IDEA之後再修改) 1、users.properties 配置文件案例 2、application.properties,如果需要登陸,配置

原创 springboot全局異常捕捉及處理

        全部異常捕捉,省了每個controller裏面try-catch,而且有些異常不一定在controller捕捉,而@RestControllerAdvice,就可以實現全局統一異常的捕捉和處理。以請求參數校驗爲例,爲了校驗

原创 springBoot自動裝配集合(Map、List)以及動態刷新環境配置

springboot2.0從apollo讀取配置 針對一些需要經常更新的配置,有多種方案: 1、將配置記錄在數據庫,啓動項目的時候讀取配置,然後緩存在集合中,這種方案很頭疼的地方,每次更新配置之後,需要重新啓動項目或者預留接口刷新緩存;

原创 LeetCode-滑動窗口的最大值

滑動窗口的最大值題目信息 關鍵要知道雙端隊列(雙向隊列)的特性 解題思路以及代碼 package com.cn.dl.leetcode.stack; import java.util.Arrays; import java.util.

原创 RocketMq順序消息解決方案

一、概念 順序消費可以從業務層次分爲兩種:全局順序消息、局部順序消息 全局順序消息:顧名思義,就是產生消息的順序和消費消息的順序一致,比如用戶訂單,大致分爲:創建訂單、支付、打包待發貨、已發貨、用戶簽收,業務上處理訂單時必須按照先後次序來

原创 Redis設置鍵的生存時間或者過期時間以及刪除過期鍵的3種策略

1、Redis設置鍵的生存時間或者過期時間 生存時間:指當前鍵可以保持多長時間; 過期時間:指當前鍵什麼時候過期,具體的時間戳; 設置過期時間一般用expire,或者pexpire,主要區別:expire單位是秒,而pexpire單位是毫

原创 Mybatis-BaseTypeHandler實現Dao層數據加解密

Mybatis官方文檔 需求:數據庫保存的數據需要加密,然後查詢的時候解密 具體方法:繼承BaseTypeHandler,然後重寫具體的set、get方法 public abstract void setNonNullParam

原创 log4j 配置日誌級別是INFO,但控制檯輸出的日誌卻是DEBUG?

log4j 配置日誌級別是INFO,但控制檯輸出的日誌卻是DEBUG?          如果確定配置文件日誌級別是info,又可能jar包有衝突,看一下依賴的jar中是否有logback,直接去掉或者排除logback相關引用,然後查看

原创 Leetcode-合併區間

56. 合併區間 解題思路: /** * 思路: * 1、如果二維數組長度等於0或者1,直接返回當前數組 * 2、 * 2.1、數組size > 1,先按照區間的起始點生序排序 *

原创 Leetcode- 最長連續序列

128. 最長連續序列 解題思路: /** * 1、通過PriorityQueue對數組先進行從小到大排序,但是要剔除重複的數組 * 2、 * 2.1: 然後出隊,定義臨時變量、臨時長度、已經最終的最

原创 Leetcode-最小路徑和

64. 最小路徑和 https://leetcode-cn.com/problems/minimum-path-sum/ package com.cn.dl.leetcode; /** * Created by yanshao o

原创 maven-archetype多模塊骨架創建以及使用

一、背景        最近部門的項目進行多模塊拆分,一個maven模塊裏包含多個maven子模塊,爲了方便創建多模塊,部門年輕的架構師(我很佩服他)用maven-archetype來創建多模塊骨架,然後創建多模塊就方便多了。 二、創建多

原创 leetcode系列-1046. 最後一塊石頭的重量

1、題目鏈接:https://leetcode-cn.com/problems/last-stone-weight/ 2、題目描述 有一堆石頭,每塊石頭的重量都是正整數。 每一回合,從中選出兩塊最重的石頭,然後將它們一起粉碎。假設石頭