原创 分佈式鎖系列--01分佈式鎖入門介紹

本系列主要介紹分佈式鎖相關內容及實現。本文主要介紹以下內容: 1.分佈式鎖是什麼 2.分佈式鎖約束 3.分佈式鎖實現方式 1.分佈式鎖是什麼 分佈式鎖,是控制分佈式系統中訪問共享資源的一種方式,如果不同的系統或是同一個系統的不同主

原创 SpringCloud教程(Finchley版本)-04:斷路器(Hystrix-Ribbon)

在微服務系統中,我們把系統拆分成了很多小的服務,各個服務之間通過不同的方式進行依賴和調用,爲了保證服務的高可用性,單個服務通常會集羣部署,此時,許多服務由於各種問題可能會調用失敗,比如超時、異常等。如何能夠保證在一個依賴出問題的情況下

原创 idea提示接口註釋信息

設置之後,當鼠標移動到接口的實現類方法上時(需要由@Override註解),可以顯示接口中此方法的註釋信息,如下:

原创 分佈式鎖系列--02Redis實現分佈式鎖

本文講述,如何使用redis來實現分佈式鎖。這種實現方式,滿足了分佈式鎖系列–01分佈式鎖入門介紹一文中,分佈式鎖約束的前三條:互斥性,安全性,對稱性。因爲是單機版本,所有無法滿足第四條。自己編碼來實第四點,是比較麻煩的,後面會介紹如

原创 SpringCloud教程(Finchley版本)-06:斷路器(Hystrix-Feign)

在微服務系統中,我們把系統拆分成了很多小的服務,各個服務之間通過不同的方式進行依賴和調用,爲了保證服務的高可用性,單個服務通常會集羣部署,此時,許多服務由於各種問題可能會調用失敗,比如超時、異常等。如何能夠保證在一個依賴出問題的情況下

原创 SpringCloud教程(Finchley版本)-05:負載均衡(Feign)

本文介紹使用Feign實現負載均衡,主要分爲以下幾個步驟: 1.創建項目 2.引入依賴 3.修改配置文件 4.添加啓動註解 5.跨服務調用 6.啓動項目,測試 1.創建項目 新建一個Springboot項目feign_server

原创 redisson的MultiLock連鎖

redisson中的MultiLock,可以把一組鎖當作一個鎖來加鎖和釋放。 1.官方文檔的解釋: Redis based distributed RedissonMultiLock object groups multiple RL

原创 git提交代碼添加作者信息

git提交代碼時,如果沒有設置作者信息,提交記錄可能看不出來時誰提交的,如下: 修改方式如下: 這兩條配置很重要,每次 Git 提交時都會引用這兩條信息,說明是誰提交了更新,所以會隨更新內容一起被永久納入歷史記錄: $ git c

原创 git修改提交記錄

某次提交時,信息填寫錯誤,需要修改,可使用如下命令: git commit --amend -m 新信息 如圖,箭頭所指的地方,就會被修改爲新的記錄。

原创 SpringCloud教程(Finchley版本)-03:負載均衡(Ribbon)

Spring Cloud Ribbon是一個基於Http和TCP的客服端負載均衡工具,它是基於Netflix Ribbon實現的。它是一個工具類框架,不像服務註冊中心、配置中心、API網關那樣獨立部署,但是它幾乎存在於每個微服務的基礎

原创 Parameter 'stock' not found. Available parameters are [arg1, arg0, param1, param2]

SpringBoot 2.1.0,mybatis1.3.1,做一個簡單的壓測時,出現了一個和壓力測試無關的其他的常見的問題: org.apache.ibatis.binding.BindingException: Parameter

原创 詳解java中的6種單例寫法及優缺點

在java中,單例有很多種寫法,面試時,手寫代碼環節,除了寫算法題,有時候也會讓手寫單例模式,這裏記錄一下單例的幾種寫法和優缺點。需要的朋友可以參考下 在java中,單例有很多種寫法,面試時,手寫代碼環節,除了寫算

原创 教科書式的代碼

在項目中遇到一個bug,追進接口後,發現這個接口調用了超過10個大方法,下面是其中一個,我覺得可以作爲一個教科書級別的典範。我覺得有志於把代碼寫的優雅的朋友,可以仔細看看這個代碼,把這個代碼的問題看明白了,那代碼自然就寫的簡潔優雅了。

原创 SpringCloud教程(Finchley版本)-00:什麼是SpringCloud

SpringCloud是什麼,能幹什麼,有什麼優勢,這幾個問題,網上有很多資料,這裏就不再單獨整理,這裏轉載一篇,有適當修改。 本文轉載自純潔的微笑的博客:大話Spring Cloud Spring Cloud是什麼 Spring C

原创 java.lang.IllegalStateException: Service id not legal hostname

SpringCloud服務,在啓動兩個A服務,然後使用B服務通過feign調用A時,出現以下錯誤: java.lang.IllegalStateException: Service id not legal hostname 顯示非