按照馬克思的辯證唯物主義,為了解決某個社會問題而誕生的新生事物,在流行並佔據統治地位後,必然會出現它的反面,也就是負面的影響。之後又會出現新生事物來解決它所造成的負面影響。這樣迴圈往復,沒有終結,推動人類社會向著更高階的方向發展。
對於軟體應用開發來說,也遵循著辯證唯物主義的規律。早期的軟體應用都是單片應用,隨著流量的增大,單片應用無法支援,而且複雜的單片應用也難以維護、難以測試,最終開發團隊只好將單片應用化整為零,變成分布式應用。但是設計、開發分布式應用很複雜,所以出現了一些開發方法,例如面向服務的架構soa,以及最新的微服務架構msa。按照辯證唯物主義,千萬別以為msa就是軟體應用開發最終的理想國。msa仍然有很多令人頭疼的地方,其中最主要的乙個方面就是運維了。
在msa流行之前,乙個軟體應用即使是分布式的,通常服務數量並不多(不超過10個),運維工程師的工作量不算很大。msa流行之後,乙個分布式應用常常會有2、30個甚至上百個服務。運維工程師的工作量不是簡單地按照服務的數量線性增加,而是按照服務數量的平方增加。可想而知,如果不想辦法盡量降低運維工作的成本,建造理想的msa就是不切實際的空中樓閣。
聰明的運維工程師和聰明的程式設計師類似,遵循著dry的原則——don't repeat yourself. 解決方案只寫一次,盡量重用,能自動化完成的工作盡量都自動化完成。這個思維和工作方法叫做devops,已經在運維領域流行了很多年。近5年來湧現出來大量的devops工具,還有以docker為代表的輕量級容器,這些新生事物極大地提高了運維工作的自動化程度,使得運維工作的效率有了10倍以上的提公升。
《微服務運維實戰》這本書的內容就是**如何把設計開發msa和devops兩方面的最佳實踐結合在一起。這本書的出現可以說是恰逢其時,因為有很多想要嘗試msa的軟體開發團隊,就是因為不知道如何做好運維工作,而最終無奈放棄。實施好乙個msa專案當然不可能一蹴而就,而是乙個長期的演化迭代過程。有了《微服務運維實戰》這本書的幫助,開發團隊可以少踩很多坑,更加順利地實施msa,不必走回頭路。我強烈推薦這本書,這本書非常實用,應該成為正在實施msa專案的所有技術人員的案頭書。
選集 第一卷
由武漢疫情事件引發的關注中國政治制度,新聞等,開始感嘆各種事物都是殊途同歸,於是選擇閱讀 選集。1.打勝仗就驕傲,打敗仗就消極。2.上級機關要明了下級機關的情況和群眾生活的情況,成為正確指導的客觀基礎.擴充套件到科研上,個人作為上級,領域知識作為群眾,要通過大量粗讀文獻了解群眾情況 客觀基礎,從而能...
程式設計藝術第一卷(1)學習筆記
1.1 演算法 演算法e 歐幾里德演算法 給定兩個正整數m和n,求他們的最大公因子,即能夠同時整除m和n的最大正整數。e0 確保m n 如果mn.e1.求餘數 以n除m並令r為所得餘數。0 r n e2.餘數為零?若r 0,演算法結束,n即為答案。e3.減少 置m n,n r,並返回步驟e1.乙個演...
第一卷 二十三章經
寫在前面 這天迦父帶著迦娃 也就是我啦 來到迦木司,乙個衣著爛衫的中年男子接待了我們。看到這個人,我心裡吐槽 這所小時候聽說過的新世界也太不靠譜了吧,怎麼派了這麼乙個不修邊幅的人來接待我們。後來才知道這位接待我們的人就是大名鼎鼎的委派者 委派者模式 因為早年觸犯第六指原則,被逐出門外,但念其是初犯且...