分布式常见面试题总结(2021)
文章目錄
- 分布式概述
- 分布式
- 集群
- 兩個特點
- 兩大能力
- 微服務
- 多線程
- 高并發
分布式概述
分布式
分布式(distributed)是為了解決單個物理服務器容量和性能瓶頸問題而采用的優化手段,將一個業務拆分成不同的子業務,分布在不同的機器上執行。服務之間通過遠程調用協同工作,對外提供服務。
該領域需要解決的問題極多,在不同的技術層面上,又包括:分布式緩存、分布式數據庫、分布式計算、分布式文件系統等,一些技術如MQ、Redis、zookeeper等都跟分布式有關。
從理念上講,分布式的實現有兩種形式:
水平擴展:當一臺機器扛不住流量時,就通過添加機器的方式,將流量平分到所有服務器上,所有機器都可以提供相同的服務;
垂直拆分:前端有不同業務需求時,一臺機器扛不住流量,可以將不同的業務需求分發到不同的機器上,比如A機器處理余票查詢的請求,B機器處理支付的請求。
集群
集群(cluster)是指在多臺不同的服務器中部署相同應用或服務模塊,構成一個集群,通過負載均衡設備對外提供服務。
兩個特點
可擴展性:集群中的服務節點,可以動態的添加機器,從而增加集群的處理能力。
高可用性:如果集群某個節點發生故障,這臺節點運行的服務,可以被其他服務節點接管,從而增強集群的高可用性。
兩大能力
負載均衡:負載均衡能把任務比較均衡地分布到集群環境下的服務節點上。
集群容錯:集群服務調用失敗后,服務框架能夠根據容錯策略在底層自動容錯,不影響服務的正常提供
微服務
微服務就是很小的服務,小到一個服務只對應一個單一的功能,只做一件事。這個服務可以單獨部署運行,服務之間通過遠程調用協同工作,每個微服務都是由獨立的小團隊開發,測試,部署,上線,負責它的整個生命周期。
多線程
多線程(multi-thread):多線程是指程序中包含多個執行流,即在一個程序中可以同時運行多個不同的線程來執行不同的任務。多線程是為了提高CPU的利用率。
高并發
高并發(High Concurrency)是一種系統運行過程中發生了一種“短時間內遇到大量請求”的情況,高并發對應的是訪問請求,多線程是解決高并發的方法之一,高并發還可以通過分布式,集群,算法優化,數據庫優化等方法解決。
總結
以上是生活随笔為你收集整理的分布式常见面试题总结(2021)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: EndNote X9导入论文投稿的期刊参
- 下一篇: 空间相关分析与SDM