原创 Zookeeper客戶端錯誤:Packet len* is out of range!

主頁:www.howardliu.cn 博文:Zookeeper客戶端錯誤:Packet len8854970 is out of range! 這是一個生產環境使用zookeeper異常的情況,錯誤是java.io.IOExc

原创 源碼安裝NGINX

本文主要記錄一次從源碼安裝Nginx過程,參考的是Nginx官網。 安裝過程比較簡單,就是下載源碼包,下載依賴包,打包編譯安裝就完事了。 安裝 安裝依賴包yum -y install gcc automake autoconf

原创 初始化Ubuntu工作環境

博文:初始化Ubuntu工作環境 主頁:http://www.howardliu.cn/ 去年6月份開始使用Ubuntu 14.04 LTS,當時是在公司電腦上裝的,因爲是第一次搭建工作環境,很多東西不是很隨心意。終於等到16.

原创 關於Linux系統的swap交換空間

原文鏈接:All about Linux swap space 翻譯:沉潛飛動 譯文鏈接:關於Linux系統的swap交換空間 用Ubuntu已經將近1年了,最近重裝了16.04之後,每天到下午5點左右,都會發現Swap交換空

原创 筆記 - 顏色列表

// 白色 $white: #FFFFFF; // 象牙色 $ivory: #FFFFF0; // 亮黃色 $lightyellow: #FFFFE0; // 黃色 $yellow: #FFFF00; // 雪白色 $snow:

原创 微服務編程範式

目前很多互聯網公司都採用微服務架構,微服務的優點和缺點被反覆說到,這裏不在重複贅述,只結合工作中的一些實踐,說說要用微服務要注意的點,厚顏寫做編程範式,其實就是一些具體實踐而已。 原則(道) 原則是比較抽象的一個概念,簡單說是一

原创 深入理解Java虛擬機:JVM高級特性與最佳實踐(第2版) 讀後感

寫這篇讀後感的緣由是這本書的第三版即將面世了,先拜謝周教授,相信很多人得益於周教授的這本書。 14年入手的第二版,當時準備跳槽,需要理論知識武裝一下。於是囫圇吞棗的掃了第一遍,就兩個字,不懂,那種感覺就彷彿身在霧中,一切都看不通透

原创 從單體架構到微服務架構

微服務的優勢衆多,在現在如果有誰沒有聽過微服務架構,可以從這裏瞭解一下。本文主要聊一聊是否值得花時間將單體架構重構爲微服務架構? 微服務架構是一種架構風格,專注於軟件研發效能,主要包括單位時間內實現更多功能,或者軟件從想法到上線

原创 設計模式:建造者模式

之前說過了單例模式,這周想說說建造者模式,它是另外一個比較常用的創建型設計模式。 維基百科解釋是:建造者模式,又名生成器模式,是一種對象構建模式。它可以將複雜對象的建造過程抽象出來(抽象類別),使這個抽象過程的不同實現方法可以構

原创 別讓非理性思維毀了你的人生

本文是蓋瑞·馬庫斯的《怪誕腦科學:戰勝焦慮、混亂、拖延的自控術》一書讀後感,借用作者給出的13條建議,結合自己的理解分享給大家。 我們的身體的精密程度遠超機器可以比擬,大腦神經元複雜程度遠遠超過世界上任何已存在的機器,但是我們

原创 RabbitMQ運維

這是一次比較苦逼的運維,完全不熟悉的系統、不清楚環境、不清楚配置,兩眼一抹黑。爲啥?就是因爲原來的負責人撤了、交接人休假、再次交接人也休假,再再次交接人只有一份不全的文檔。而我是再、再、再次交接人,連文檔也沒有。更要命的是,這是生

原创 微服務的基建工作

前文說了一下《什麼是微服務》,在文末提到,初創團隊不建議直接使用微服務,對於初創團隊,最根本的是活下去,而想要使用微服務,需要有很多基礎建設。本文就來說下,微服務都需要哪些基礎建設。 需要說明的是,下面這些組件,都是基於服務太多

原创 微服務中服務註冊和發現的可行性方案

在 微服務的基建工作 中提到過,在雲原生、微服務時代,如果還是手動修改服務地址,是幾乎不可完成的工作,需要一種機制完成自動上報和獲取服務地址的支撐組件,可以保障服務的快速上線和下線,這就是服務註冊/發現組件。 爲了表述方便,從

原创 Java中的單例模式(完整篇)

個人認爲單例模式是設計模式中最簡單也是最常用的一種,是對有限資源合理利用的一種方式。這個模式看似簡單,但是其中蘊含了關於併發、類加載、序列化等一系列深層次的知識,如果理解不夠深,就有可能在高併發時遇到難以預期的異常,或者會造成資源

原创 併發與並行 同步或異步

併發與並行 我們都知道,程序猿是一種邏輯性極強的生物,他們不擅言辭,不擅表達,但是他們能夠用一種神祕的語言與機器進行溝通,知道怎麼讓機器聽他們的。機器是線性思維,爲了能夠更高效的與機器溝通,程序猿主動或被動或潛移默化的轉變思維模式