政府部門網站建設負責部門百度一下首頁網址百度
考慮系統(tǒng)的
穩(wěn)定性
一、微服務的穩(wěn)定性
1、如何解決那些不穩(wěn)定的因素/問題?也是常說的如何容錯。
2、一個系統(tǒng)的高可用取決于它本身和其強依賴的組件的高可用
3、消除單點 ?;顧C制 健康檢查
注冊中心如何保障穩(wěn)定性
注冊中心集群
微服務本身對注冊信息的本地持久化 注冊機制:關注下線/摘除的原因 網絡抖動-->注冊中心的保護機制,增量更新-->防止網絡風暴 服務消費者如何保障穩(wěn)定性
#### 超時機制
#### 容錯機制? ??FailTry/FailOver/FailFast #### 熔斷? ?給予服務提供者一定的恢復時間,等服務提供者恢復正常后再發(fā)起調用。這種保護機制大大降低了鏈式異常引起的服務雪崩的可能性 #### 隔離? ??隔離資源 #### 降級 服務提供者如何保障穩(wěn)定性
限流 重啟與回滾
服務由于Bug不能提供服務,要求消費者具備容錯措施:熔斷/降級,在運維上具備快速回滾到前一個版本的能力。
為了復盤問題,要盡力保留現(xiàn)場的上下文/數據,主要來自日志的收集(jvm GC/jstack,業(yè)務log )
二、功能穩(wěn)定
1. 良好的代碼設計:可擴展性高,不會因為一個需求導致大面積的重構
2. 測試用例覆蓋率:特殊用例
3. 上線
4. 監(jiān)控
三、性能穩(wěn)定
限流
降級
熔斷
不穩(wěn)定的問題
### DB層
#### 死鎖問題:概率小
#### 慢SQL查詢?
1.沒有索引/錯誤地使用索引
2.并發(fā)高:訪問量大/存在共享熱表
3.復雜查詢:使用搜索替代
4.數據爆表:數據量增速快 觀察統(tǒng)計日/月/年增長量
#### 解決方案
```
并發(fā)高如何解決?
時效要求不高的后臺定時任務:1. 按時間維度隔離 2.數量分片:任務分發(fā)
實時性高的交互:緩存/讀寫分離數據爆表如何解決?
分庫分表
冷熱數據歸檔
### 系統(tǒng)層面
時延或高或低:隨著流量大小變化
負載不均衡
熱點數據:訪問傾斜
```
接口:梳理核心鏈路,非核心調用:同步改異步
系統(tǒng):拆分業(yè)務,各業(yè)務模塊高內聚,從而達成隔離?
?
運維穩(wěn)定
可擴展性
可以處理更大/更多規(guī)模的業(yè)務
功能擴展
應用擴展
硬件擴展
?