原创 併發編程JUC&&線程狀態

JUC全程:java.util.concurrent,指在併發編程中使用的工具類 一、進程和線程區別 **進程:**進程是一個具有一定獨立功能的程序關於某個數據集合的一次運行活動。它是操作系統動態執行的基本單元,在傳統的操作系統中

原创 基於Spring AOP實現通用異常攔截器

通常在項目裏,會用大catch包住異常,但是這麼做在生產上將影響問題定位;爲了在項目中更規範的進行編碼,本文將詳細介紹如何基於AOP來實現異常攔截 處理結果: 404請求異常 請求參數異常 一、開啓AspectJ的Proxy設

原创 解決MQ中消息積壓、重複、丟失等問題

消息丟失 消息發送出去,由於網絡問題沒有抵達服務器 1.做好容錯方法(try-catch),發送消息可能會網絡失敗,失敗後要有重試機制,可記錄到系統數據庫,採用定期掃描重發的方式。 2.做好日誌記錄,每個消息狀態是否都被服務器收到

原创 通過逆向工程自動生成微服務代碼,提升70%的研發效率

本文講介紹如何藉助renren-generator,逆向自動生成全套的業務基礎代碼 一、引入renren-generator到需要逆向生成的微服務項目裏 git clone [email protected]:renrenio/renr

原创 解決maven打包異常:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.22.2

項目在引入org.junit.Test 做單測時,maven不管是操作package還是install一直報錯,提示: Failed to execute goal org.apache.maven.plugins:maven-s

原创 簡要概括RPC框架的原理

RPC的框架,首先加入有一個服務端,把這個接口暴露、發佈出去,需要在服務端啓動的時候,把這個接口發佈到我的一個註冊中心裏面,而客戶端就是那個consumer,在啓動的時候,去註冊中心裏面找發佈的一個接口,注入到consumer的服

原创 集羣高併發情況下,通過SnowFlake雪花算法保證生成分佈式唯一全局ID

一、需要分佈式全局ID的場景 在複雜分佈式系統中,往往需要對大量的數據和消息進行唯一標識 如在美團點評的金融、支付、餐飲、酒店;貓眼電影等產品的系統中數據日漸增長,對數據分庫分表後需要有一個唯一ID來標識一條數據或消息; 特別一點

原创 如何通過阿里開源中間件seata的@GlobalTransactional實現分佈式事務

一、seata是什麼 2019年1月螞蟻金服和阿里巴巴共同開源的分佈式事務解決方案,Seata是一款開源的分佈式事務解決方案,致力於在微服務架構下提供高性能和簡單易用的分佈式事務服務 Simple Extensible Auton

原创 線程池的運行機制

private ThreadFactory namedThreadFactory = new ThreadFactoryBuilder().setNameFormat("thread-call-runner-%d").build(

原创 CentOS7安裝Docker,配置阿里雲鏡像加速器地址

一、Docker是啥 Docker 本身是一個容器運行載體或稱之爲管理引擎。我們把應用程序和配置依賴打包好形成一個可交付的運行環境,這個打包好的運行環境就似乎 image鏡像文件。只有通過這個鏡像文件才能生成 Docker 容器。

原创 通過RestTemplate實現http請求負載均衡,替換httpclient

一、什麼是RestTemplate RestTemplate是Spring用於同步client端的核心類,簡化了與http服務的通信,並滿足RestFul原則,程序代碼可以給它提供URL,並提取結果。默認情況下,RestTempl

原创 dependencyManagement的作用,DependencyManagement和Dependencies的區別

一、dependencyManagement的介紹 Maven使用dependencyManagement元素來提供一種管理依賴版本號方式,通常會在一個組織或者項目的最頂層的父POM中看到dependencyManagement元

原创 分佈式數據庫裏CAP原理與BASE思想

一、傳統的ACID 數據庫ACID四大特性 A:原子性 atomicity C:一致性 consistency I:獨立性 isolation D:持久性 durability 二、CAP理論的三選二 C:強一致性 A:高可

原创 Spring事務與MySQL數據庫隔離級別的關係,方便記憶的Spring事務傳播特性

一、MySQL數據庫存在的3種讀取問題 髒讀:一個事務有可能讀取了另一個事務改寫但沒提交的數據,如果回滾,那讀取的就是無效數據 不可重複讀:在同一個事務中,多次讀取同一數據時,返回的結果卻不相同;後續讀取可能讀取到另一個事務提交的