2015第50周一了解微服務架構

2021-09-07 04:09:58 字數 1083 閱讀 3738

58 

**架構演進

**在不同的階段遇到的問題不一樣,而解決這些問題使用的技術也不一樣,流量小的時候,我們主要目的是提高開發效率,在早期要引入 orm,dao 這些技術。隨著流量變大,使用動靜分離、讀寫分離、主從同步、垂直拆分、cdn、mvc 等方式不斷提公升**的穩定性。面對更大的流量時,通過垂直拆分、服務化、反向**、開發框架(站點/服務)等等,不斷提公升高可用。在面對上億級的更大流量時,通過中心化、柔性服務、訊息匯流排、自動化(回歸,測試,運維,監控)來迎接新的挑戰。未來的就是繼續實現移動化,大資料實時計算,平台化…

微服務架構

微服務架構(msa)是一種架構概念,旨在通過將功能分解到各個離散的服務中以實現對解決方案的解耦。你可以將其看作是在架構層次而非獲取服務的類上應用很多solid原則。

不過從實踐上來說,它會引發很多問題。這些服務之間是如何通訊的呢?服務之間的延遲是怎樣的?如何測試服務呢?如何檢測失敗並對其作出響應呢?如果存在大量互相依賴的情況該如何管理部署呢?

從物理角度來說,這些服務都很小,你可以在同一臺機器上執行大量服務,不必擔心記憶體或是資源等問題。重申一遍,基於大型框架的簡單庫將會取得最後的勝利,你會發現對第三方庫的依賴越來越少。

本質上,微服務是自我託管的,他們獲取乙個埠然後監聽。這意味著你將失去典型的企業應用伺服器所帶來的很多好處,服務需要提供這些必要的功能(效能度量、監控等等)。

你可能會發現在某些情況下,乙個完整事務中對json負載的序列化與反序列化的代價會造成系統瓶頸。也許json並不適合,你可能需要使用別的協議,如protobuf等。

服務之間的某些通訊可以是完全解耦的,事實上,有些服務可以隨意發布事件或是資料。他們只是將其扔出去(比如說訊息匯流排),也許有一天出現了某個服務,然後開始監聽了。此外,也許系統的某些部分會以批量/離線的流程進行運作,他們可能會在幾小時後才從佇列中取出訊息。微服務架構可以實現這種靈活性而無需修改整個架構。

哪個公司或產品使用微服務架構?

大部分大型**系統如twitter, netflix, amazon 和 ebay都已經從傳統整體型架構monolithic architecture遷移到微服務架構

來自為知筆記(wiz)

2015第44週六tomcat集群了解

對於web應用集群的技術實現而言,最大的難點就是如何能在集群中的多個節點之間保持資料的一致性,會話 session 資訊是這些資料中最重要的一塊。要實現這一點,大體上有兩種方式,一種是把所有session資料放到一台伺服器上或者資料庫中,集群中的所有節點通過訪問這台session伺服器來獲取資料 另...

2014第11周一word樣式

今天摸索使用了word的樣式替換功能感覺不錯,簡單記錄下 1.將某乙個樣式的標題統一替換為另一樣式,之前一般是格式化乙個個找到標題設定格式,今天才發現可以選中標題 在浮動框上單擊樣式或開始選單的樣式欄上找到選中的樣式 右鍵,選中相同樣式的內容 然後單擊修改樣式 選擇重新應用新的樣式即可。在上述操作時...

2014第11周一word樣式

今天摸索使用了word的樣式替換功能感覺不錯,簡單記錄下 1.將某乙個樣式的標題統一替換為另一樣式,之前一般是格式化乙個個找到標題設定格式,今天才發現可以選中標題 在浮動框上單擊樣式或開始選單的樣式欄上找到選中的樣式 右鍵,選中相同樣式的內容 然後單擊修改樣式 選擇重新應用新的樣式即可。在上述操作時...