原创 @FeignClient注入找不到異常

前言 Springcloud中的服務間調用是通過Feign進行調用的,在調用方服務中,我們需要定義一些帶有@FeignClient註解的接口類。並且在啓動類上加上@EnableFeignClients註解。程序啓動的時候,會檢查是否有@E

原创 Feign調用中的兩種Header傳參方式

前言 在Spring Cloud Netflix棧中,各個微服務都是以HTTP接口的形式暴露自身服務的,因此在調用遠程服務時就必須使用HTTP客戶端。我們可以使用JDK原生的URLConnection、Apache的Http Client

原创 對於OSI七層模型,我不想再"背誦"了

前言 對於網絡協議,我們在日常開發中,實際碼相關代碼的場景不多,因爲日常都是各種CURL。小夥伴們在大學學完可能都忘的差不多了,甚至有些小夥伴在大學就沒學好,還有壓根就沒學的(這裏是指那些半路轉行投身於碼海的小夥伴)。但是網絡協議這塊很是

原创 從RestTemplate到Feign精簡之路

前言 SpringCloud 中,默認是使用HTTP進行微服務間通信,其中最常用的有兩種實現形式。主要是RestTemplate和Feign。在SpringWeb裏面,已經原生支持了 RestTemplate,只不過我們一般使用的是把請求

原创 解決java.security.InvalidKeyException: Illegal key size or default parameters

前言 前面說到DES對稱加解密算法的安全係數不是很高,企業項目中一般不會使用的。所以衍生了後續的3DES和AES算法,和DES一樣,這兩者都是對稱加密算法。但是安全性比DES高很多,最近項目中集成的第三方兌換券就是用AES加密算法的,這裏

原创 說說Linux中的umask

前言 Linux文件權限這塊是Linux學習的基礎,我們在學習linux權限的時候,都有學過umask命令。在linux系統中,我們創建一個新的文件或者目錄的時候,這些新的文件或目錄都會有默認的訪問權限,umask命令與文件和目錄的默認訪

原创 API接口安全攻略

前言 日常開發中少不了和第三方服務進行交互,我們經常會提供對外接口給第三方服務調用,這種接口是直接在公網暴露給第三方的,接口安全性是必須要考慮的,接口總不能在公網上直接裸奔吧。這裏和大家一起總結下公網接口安全性問題。安全措施大體來看主要在

原创 Mysql中的兩列日期求差和取比較值

前言 在mysql的使用中我們經常需要對日期進行操作,比如取兩列中的日期相差多少天,相差多少小時,多少月。還有些查詢場景中,我們需要取兩列中較大的日期值或者較小的日期值,這裏來和大家一起復習下。 使用TIMESTAMPDIFF快速求差 相

原创 BigDecimal的正確打開方式

前言 項目中明確規定,凡是涉及到金額的屬性定義都必須使用BigDecimal類型,這裏來和大家一起學習下BigDecimal的正確打開方式。 先來個錯誤的示範 話不多說,直接上demo @Test public void

原创 擼明白分佈式事務(四)

前言 在分佈式系統中,消息隊列在服務端的架構中的地位非常重要,主要解決異步處理、系統解耦、流量削峯等場景。多個系統之間如果同步通信很容易造成阻塞,同時會將這些系統會耦合在一起。因此,引入了消息隊列,一方面解決了同步通信機制造成的阻塞,另一

原创 擼明白分佈式事務(一)

傳統的ACID 什麼是事務?回答這個問題之前,我們先來看一個經典的場景:支付寶等交易平臺的轉賬。假設小明需要用支付寶給小紅轉賬 100000 元,此時,小明帳號會少 100000 元,而小紅帳號會多 100000 元。如果在轉賬過程中系統

原创 擼明白分佈式事務(二)

前言 前面介紹了傳統單庫,單服務通過數據庫的ACID模式來解決事務的一致性,但是隨着數據量的變大,採用了分庫策略。或者服務架構逐漸演變爲微服務或者其他分佈式架構。這時候ACID也只能鞭長莫及了。這裏來和大家一起學習下應對這種問題強一致性解

原创 擼明白分佈式事務(三)

前言 前面說的二階段提交協議和三階段提交協議很好的解決了分佈式事務的問題,但是在極端情況下仍然存在數據的不一致性,此外它對系統的開銷會比較大,引入事務管理者(協調者)後,比較容易出現單點瓶頸,以及在業務規模不斷變大的情況下,系統可伸縮性也

原创 curl命令實用教程

前言 在Linux中curl是一個利用URL規則在命令行下工作的文件傳輸工具,可以說是一款很強大的http命令行工具。它支持文件的上傳和下載,是綜合傳輸工具,但按傳統,習慣稱url爲下載工具。curl命令在日常開發或運維中都經常用到,這裏

原创 聊聊聚集索引和輔助索引

前言 索引是數據庫中非常重要的概念,它是存儲引擎能夠快速定位記錄的祕密武器,對於提升數據庫的性能、減輕數據庫服務器的負擔有着非常重要的作用;索引優化是對查詢性能優化的最有效手段,它能夠輕鬆地將查詢的性能提高几個數量級。 索引的數據結構 I