原创 基於Eureka遠程調用時FeignClient註解參數的含義

@FeignClient(value = "service-provider", url = "http://test.com", configuration = FeignConfiguration.class) public int

原创 數據庫 - MySql MVCC機制

什麼是MVCC         MVCC:是一種多版本併發控制(MVCC,Multiversion Currency Control)。一般情況下,事務性儲存引擎不是隻使用表鎖,行加鎖的處理數據,而是同時結合了MVCC機制,以處理更多的併

原创 單測 - 需要知道的點

1、好的單元測試必須遵守AIR原則。 說明:單元測試在線上運行時,感覺像空氣(AIR) —樣並不存在,但在測試質量的保障上,卻是非常關鍵的。好的單元測試宏觀上來說,具有自動化、獨立性、可重複執行的特點。 A: Automatic(自動化)

原创 Java - 函數式編程(1): lambda表達式入門

關於lambda表達式            Lambda 是Jdk8推出的一個新特性,允許把函數作爲一個方法的參數(函數作爲參數傳遞進方法中)。            Lambda表達式只支持函數式接口  也就是只有一個抽象方法的接口。

原创 單測 - JUnit搭配PowerMock單測實踐

爲什麼單測要使用Mock工具 單元測試是要遵守可重複執行,故測試用例不應該依賴外部環境以及下游服務,避免不必要的問題; Mock工具就是爲了滿足這一需求的,它可以幫我們mock(模仿)出外部依賴對象,這樣我們的測試用例不依賴於下游服務的狀

原创 java - 中轉上傳文件(有坑)

遇到一個問題,我們的服務只做代理功能,有時候需要轉發文件,又不能把文件先保存下來後再讀取文件上傳到第三方服務器,這時候就要直接發送流文件。 restTemplate(親測有效,很費勁才找到的): class MultipartInp

原创 Feign - 基礎使用

  關於Feign  Feign通過註解聲明的方式簡單化的實現了Http的相關調用,使我在以http方式調用遠程接口時更加簡單,代碼也更加簡潔,只需要創建接口,增加相關的註解就可以了。 使用 引入相關包 <depend

原创 分佈式理論 - 服務中可能出現的網絡異常

   網絡異常       分佈式服務節點間通過不可靠的網絡進行通信,可能出現以下幾種異常。 消息丟失  消息丟失是最常見的網絡異常。對於常見的 IP 網絡來說,網絡層不保證數據報文(IP fragment)的可靠傳遞,在發生網絡擁塞

原创 RESTful風格是什麼

RESTful風格是一種架構思想,而不是接口設計指南。 RESTful以資源、狀態轉移等爲核心概念來對業務建模及架構設計,適用於基於互聯網的分佈式系統,平時大家常說的接口地址要使用名詞之類的規定只是爲了體現資源的概念。 與非RESTful

原创 maven - 打包命令跳過PMD、checkstyle、test

mvn clean install -Dpmd.skip=true -Dcheckstyle.skip=true -DskipTests

原创 規則引擎 - Drools的使用

關於規則引擎 https://www.jianshu.com/p/d136a76e1c0d 場景 項目遇到下步執行動作決策的業務,場景不同於常見的規則性業務,但也可以應用於規則引擎之中,剝離掉代碼中大量的邏輯判斷、同時加快決策結果的輸出。

原创 SpringBoot - 條件註解@Conditional...

作用 當我們在啓動 Spring 容器加載Bean時,想要限制某些Bean在某些條件下才被加載到容器中,這是我們即可通過註解@Conditional...,當然該註解下絕大條件。 註解詳情 通過查看可以看到 @Conditional有很

原创 Feign - 理解使用

最近在整合項目的RPC調用,對Feign有了更多對一些理解 Feign它是一個聲明式WebService客戶端.,它支持多種註解,Feign自帶註解以及JAX-RS標準的註解.Feign也支持可拔插式的編碼器和解碼器.即我們可以自定義編碼

原创 Spring - retry重試機制

關於spring-retry 有些時候我們對於的一些行爲遭遇到意外時需要重試時,如遠程調用其他接口失敗,數據相關的事務失敗,這時我們就需要重試機制了。spring-retry通過註解聲明式的解決重試機制,功能齊全,簡單好用。 主要註解 @

原创 kafka - acks參數的作用與影響

逐步講解KafkaProducer配置acks參數的影響 1)如何保證宕機的時候數據不丟失?   如果要想理解這個acks參數的含義,首先就得搞明白kafka的高可用架構原理。 比如下面的圖裏就是表明了對於每一個Topic,我們都可以設置