這一系列文章, 旨在描述面對一個從零開始的 B(C)/S 應用的時候, 如何去搭建一個業務無關的平臺, 承載上層應用流量. 這裏要強調這個平臺的幾個特色:服務器
業務根據不一樣的指標, 能夠分爲若干類, 這裏指望經過兩種指標來描述這一系列文章想要覆蓋的場景, 以說明業務無關性
:架構
無狀態
服務和有狀態
服務異步
與實時
應用這兩個指標能夠任意組合, 可是最經常使用的組合應該是屬於無狀態-異步
及有狀態-實時
應用了, 可是一般也會有無狀態-實時
應用存在, 好比對於一個博客系統, 能夠認爲其是一個無狀態-異步
應用, 而一個一對一的聊天應用, 則能夠看做是無狀態-實時
應用, 而大多數在線遊戲, 則是有狀態-實時
應用, 須要注意的是, 業務場景不會嚴格按照上述概念進行區分, 最終大多都會造成一個無狀態
與有狀態
, 異步
與實時
共存的狀態.異步
微服務化是知足擴展性的基石, 這也是文章會首先描述的一個總體性架構, 單機應用會在後期引起若干難以解決的問題, 因此這是一開始就須要考慮到的事情.模塊化
文章會主要描述如下幾個部分:微服務
微服務的存在, 導致應用分散在若干服務器集羣中, 如何有效管理集羣是一個比較龐大的話題, 可是目前業界已經有了比較一致的具備完備性的技術方案, 如k8s, rancher等, 特別是雲服務商的出現, 掩蓋了硬件管理這個最複雜的環節, 因此這裏不會去討論關於容器編排相關的話題.設計