原创 MySQL採用order by limit分段取數據彙總錯誤問題探究

MySQL採用order by limit分段取數據彙總錯誤問題探究 背景 前幾天接同事報問題:源數據一致的情況下,生產環境報表生成時而對,時而缺少確定的值。 查看源碼,報表生成採用SQL語句, create_time >= xx

原创 阿里雲ARMS引起程序死鎖記錄

背景 ARMS是阿里雲開發的一款收費實時監控服務。 因爲價格較貴,我們只在測試環境嘗試使用ARMS,主要驗證引入ARMS對系統是否有影響、是否有助於監控系統及定位問題。在生產環境,我們沒有使用ARMS。 最近2天,我們收到測試環境

原创 FreeSwitch公網語音對講可以接通但沒有聲音問題探究

背景 公司業務用到對講系統,採用FreeSWITCH自己搭對講服務器。原本有一臺對講服務器部署在華爲雲,因爲價格貴及經常受攻擊的原因,要遷移到阿里雲服務器。於是,運維人員在阿里雲服務器部署一個FreeSWITCH,版本比原Free

原创 Spring Cloud Stream消費Kafka消息出錯時消費3次問題探究

背景 系統採用Spring Cloud Stream框架集成Kafka來實現異步消息。 問題 客戶端消費某個topic消息出錯時,會連續輸出這個消息內容3次,同時沒有提交offset。當有大量消息出錯時,topic出現消息積壓。

原创 Docker私服硬盤滿問題

背景 我們公司系統採用微服務架構,每次提交代碼自動利用Jenkins構建成Docker鏡像推送到Harbor私服,然後部署到K8S環境。 我們的持續集成環境Jenkins、Nexus和Harbor都部署在一臺服務器上。 問題 過年

原创 Jenkins利用k8s集羣實現動態Slave併發構建

Jenkins利用k8s集羣實現動態Slave併發構建 環境 Jenkins Master採用war包直接jar -jar jenkins.war本地服務器運行 Jenkins安裝Kubernetes Plugin插件 K8S集羣

原创 Java線程池使用引起的一點思考

今天遇到這樣一段代碼,具體業務代碼略掉,只留框架 ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 20, 60L, TimeUnit.SECONDS, ne

原创 Docker環境Spring Boot應用undertow大量http請求超時

Docker環境Spring Boot應用undertow大量http請求超時 背景 項目採用Spring Cloud微服務架構,每個微服務都是一個Spring Boot應用。 undertow做嵌入式Web容器,http接口相

原创 一個換行符引起的異常

問題描述及定位過程 週末收到現場問題:一臺設備能連上平臺但無法正常登陸。 我們每個設備都有一個自定義唯一編號,這個編號用於設備登陸平臺時校驗設備身份。 現在設備能與平臺建立socket連接,但無法登陸,應該就是這個編號驗證不通過。

原创 Java正則表達式使用注意事項

我們寫代碼時經常遇到要對字符串進行校驗、提取、替換等操作,利用正則表達式可以很方便地完成這些處理。Java原生支持正則表達式,但使用時有些地方需要注意。 JDK的正則表達式涉及2個類:Pattern和Matcher。 Patter

原创 微服務利用redission實現Redis分佈式鎖的一次問題定位

微服務利用redission實現Redis分佈式鎖的一次問題定位 背景 系統是微服務架構,一個服務部署多個節點。 某個業務由消息觸發,可能出現多個消息觸發多個節點同時處理同一個業務情況,最終導致這個業務表現不正常。 多個節點同時處

原创 Java源碼Finalizer類理解

Finalizer類可以理解JVM爲JAVA語言提供的全局性對象釋放資源類(類似C語言的析構方法)。 Finalizer類有一個全局儲存Finalizer對象的ReferenceQueue和一個優先級較低的執行線程Fina

原创 Jenkins使用Git Parameter時Tag列表排序問題

Jenkins使用Git Parameter時參數列表排序問題 背景 我們使用Jenkins進行項目構建,在提測某個tag時,利用Git Parameter插件手動選擇tag進行構建。 問題 用於選擇的tag列表沒有順序,很不方便

原创 CyclicBarrier用法注意

CyclicBarrier用法注意 背景 最近,接運維報,生產環境某個Java應用內存一直緩慢增長。 分析 我們JVM堆內存配置最大和最小是一樣,不可能增長;只可能是非堆內存增長。 非堆內存包括類數據、線程、JIT編譯的代碼、GC

原创 Docker環境undertow線程數不足問題探究

Docker環境undertow線程數不足問題探究 背景 上篇Docker環境Spring Boot應用大量http請求超時,我們找到大量http請求超時原因:undertow的工作線程不足。 留下一些疑問:undertow默認配