原创 maven 通過profiles管理不同環境的依賴和插件

Profile能讓你爲一個特殊的環境自定義一個特殊的構建;profile使得不同環境間構建的可移植性成爲可能。Maven中的profile是一組可選的配置,可以用來設置或者覆蓋配置默認值。有了profile,你就可以爲不同的環境定

原创 feign+hystrix根據serviceId配置hystrix.command

在使用feign+hystrix時,hystrix.command相關的屬性的優先級是 hystrix.command.FeignClient#Method() -> hystrix.command.default 如果我們希望優先

原创 spring cloud eureka server 集羣同步之peernodes管理

在PeerAwareInstanceRegistryImpl這個註冊實現類中會看到replicateToPeers這個方法: @Override public boolean cancel(final String appName,

原创 查看docker容器的內存佔用

使用docker stats命令可以查看容器的內存,但是有時候docker stats命令獲得的數據可能準確,可以參考下面這種方式 先通過docker ps -a 找到容器的container id 再使用ps -ef 找到容器對應

原创 jprofiler監聽遠程linux上的tomcat

注意事項 jprofiler在linux上的版本要和在監聽機器上的版本一致。 在被監聽的程序中加入jvm運行參數 -agentpath:/opt/jprofiler9/bin/linux-x64/libjprofilerti.so=p

原创 spring-cloud-eureka (三) 註冊中心源碼分析

Eureka是一個開源的服務治理框架,它提供了完成的Service Registry和Service Discovery實現,並且和Spring Cloud無縫集成,使用Spring Boot + Spring Cloud可以輕鬆的將註冊

原创 基於Spring cloud ribbon實現多版本控制

在我們使用spring mvc單體架構時, 我們可以通過uri,或者請求頭做多版本路由,雖然同一個功能需要維護多個版本的接口,但是對於系統而言,不會因爲新增一個接口版本而影響到老用戶。當我們使用spring cloud構建微服務平臺時,也

原创 發佈jar包到maven中央庫

最近將一個開源項目發佈到maven中央庫,記錄一下發布過程,以及遇到的坑。 創建賬號 sonatype是使用jira管理工單的,如果我們要新建工單,首先需要創建一個賬號,這個賬號同樣可以用sonatype的Nexus,我們通過Nexus最

原创 Intellij Idea 代碼格式化/保存時自動格式化

由於以前的項目中使用的是google style, 在這裏也介紹使用google style的的方法。 一、安裝google-java-format preferences -> plugins -> Browse repositori

原创 spring-cloud-eureka (二) Client - Server 接口交互(消息發送)源碼分析

上一篇文章中有介紹spring-cloud-eureka的原因,以及一部分源碼分析了服務在啓動時是如何加載並運行spring-cloud-eureka的,這一篇文章將從源碼的角度來分析spring-cloud-eureka是如何進行服務治

原创 基於Spring cloud ribbon實現灰度發佈

在上一篇文章《基於Spring cloud ribbon實現多版本控制》中介紹瞭如何擴展spring cloud ribbon實現接口多版本控制的項目 – fm-cloud-bambbo, 開發這個項目的過程,給我提供了很多想法和思路,發

原创 JAVA字段校驗(validation)

在開發業務時,不可避免的需要處理一些校驗, 如果是寫if-else這種代碼去校驗, 那會有一大段這樣的代碼。不過還好有個校驗插件:javax.validation.validation-api,不過一般會引用hibernate的校驗組件:

原创 spring-cloud-eureka (一) 原理分析

spring-cloud-eureka是spring-cloud-nettfix微服務套件中的一部分, 它基於nettfix-eureka做了二次封裝,主要負責微服務架構中的服務治理功能。 如果瞭解dubbo的朋友應該知道,dubbo就

原创 Spring cloud ribbon 源碼分析

Ribbon是Netflix公司開源的一個負載均衡的項目,它屬於上述的第二種,是一個客戶端負載均衡器,運行在客戶端上。我們先來看三張序列圖,分別是RestTemplate、Feign、Zuul在使用Ribbon的調用鏈。 從上面三

原创 npm install 提示 ERR! code EINTEGRITY

npm install 的時候發生錯誤 npm ERR! code EINTEGRITY npm ERR! sha1-W/Rejkm6QYnhfUgnid/RW9FAt7Y= integrity chexxxxxxxxxxxxxxxxx