原创 微服務架構:如何用十步解耦你的系統?

導言: 耦合性,是對模塊間關聯程度的度量。耦合的強弱取決於模塊間接口的複雜性、調用模塊的方式以及通過界面傳送數據的多少。模塊間的耦合度是指模塊之間的依賴關係,包括控制關係、調用關係、數據傳遞關係。模塊間聯繫越多,其耦合性越強,同時表明其獨立

原创 十種JVM內存溢出的情況,你碰到過幾種?

導言: 對於java程序員來說,在虛擬機自動內存管理機制的幫助下,不需要自己實現釋放內存,不容易出現內存泄漏和內存溢出的問題,由虛擬機管理內存這一切看起來非常美好,但是一旦出現內存溢出或者內存泄漏的問題,對於不熟悉jvm虛擬機是怎麼使用內存

原创 企業只能申請兩個微信公衆號,微信開發不夠用?不,一個公衆號就夠了!

微信2018年11月16日發公告稱,個人主體註冊公衆號數量上限由2個調整爲1個。企業類主體註冊公衆號數量上限由5個調整爲2個。這個對馬上要註冊公衆號的企業來說頓時心情不好了。 大家都知道每個微信公衆號在進行開發時,授權回調的域名只能設置一個

原创 解決SpringBoot在Docker運行註冊IP不正確的問題

在開發中經常會碰到SpringBoot應用在啓動成功以後,發現註冊到註冊中心的IP不是自己想要的。實際開發聯調的時候也經常碰到自己本地啓動應用怎麼獲取到一個怪怪的IP,通過別的機器無法連接到這個IP。發現有虛擬機的時候,就把虛擬機網卡停掉,

原创 Spring下Redis的響應式編程

Spring5支持響應式編程方式,能大大提高系統的吞吐量,但是要想實現整個系統的響應式編程需要每個環節都要實現,今天就來講講Spring是如何實現Redis的響應編程的。 Spring Data Redis從連接這個層次來做初始的響應式編程

原创 ArtemisMQ的“未消費之謎”

2018年6月份,我們開發了兩個使用Artemis做消息隊列實現的積分模塊和PUSH推送模塊,在幾輪測試以後,大家信心滿滿的正式上線了,而且經過了一個多月使用,一切都很順利,感覺生活一切都美美的。 問題來了 2018年8月份,突然有一天前面

原创 要提高團隊代碼質量,就要這麼用Git進行版本控制!

大家都比較清楚,互聯網產品要能夠快速響應市場變化,要面對頻繁的需求變更,要用廉價的成本快速試錯,這樣才能不斷的完善和優化產品。 Git是一個開源的分佈式版本控制系統,可以有效、高速的處理從很小到非常大的項目版本管理。非常適合做互聯

原创 10分鐘生成一張永久免費的SSL證書

爲了安全起見,現在開發微信服務號和IOS客戶端等訪問服務器端都要求使用https加密傳輸。 SSL證書是數字證書的一種,類似於駕駛證、護照和營業執照的電子副本。因爲配置在服務器上,也稱爲SSL服務器證書。 Let’s Encrypt 也是一

原创 項目中如何使用Maven進行版本管理

Maven 是一個項目管理工具,每個項目deploy到repository中以後,都有一個座標,座標中就包含一個版本,那個版本將是我們進行版本控制管理的一個重點。 一個產品實際可能包含10幾個模塊,模塊間會有依賴關係,所以在項目管理中經常聽

原创 如何使用SpringCloud進行灰度發佈

灰度發佈是指在黑與白之間,能夠平滑過渡的一種發佈方式。在其上可以進行A/B testing,即讓一部分用戶繼續用產品特性A,一部分用戶開始用產品特性B,如果用戶對B沒有什麼反對意見,那麼逐步擴大範圍,把所有用戶都遷移到B上面來。灰度發佈可以