避免失業(yè)和35歲危機(jī),把這份百度3面的面經(jīng)分享出來(lái)

部分面經(jīng)分享
以下內(nèi)容是針對(duì)特定簡(jiǎn)歷和面試過(guò)程做的復(fù)盤總結(jié),不是標(biāo)準(zhǔn)答案,僅供參考和討論:

1. 自我介紹感覺(jué)話術(shù)表述不是很好,需要刻意準(zhǔn)備打磨
重點(diǎn)強(qiáng)調(diào)Go語(yǔ)言相關(guān)經(jīng)驗(yàn),比如X年工作經(jīng)驗(yàn),主要做后端開發(fā)。不要提旁枝末節(jié)和后端開發(fā)無(wú)關(guān)的事情
結(jié)合面試公司的情況,重點(diǎn)介紹相關(guān)的工作經(jīng)驗(yàn)
如果有開源項(xiàng)目和博客最后也提一下,熱愛(ài)技術(shù),熱愛(ài)分享比如多少star,多少粉絲等等
2. 項(xiàng)目介紹上表達(dá)容易卡頓或者不連貫,給人一種對(duì)項(xiàng)目不熟的感覺(jué)。項(xiàng)目是先介紹模塊劃分還是先介紹架構(gòu)好?
先介紹模塊,讓對(duì)方有個(gè)整體認(rèn)識(shí),再介紹架構(gòu),這樣更好理解
3. 架構(gòu)是從網(wǎng)關(guān)講到底層服務(wù)層好,還是從底層講到上面好
網(wǎng)關(guān)層講到底層服務(wù),這樣更清晰,更好理解
4. 每個(gè)層級(jí)是如何進(jìn)行冗災(zāi)?
應(yīng)用層容災(zāi):應(yīng)用層容災(zāi)主要是通過(guò)負(fù)載均衡和故障轉(zhuǎn)移來(lái)實(shí)現(xiàn)的。可以將應(yīng)用部署在多臺(tái)服務(wù)器上,通過(guò)負(fù)載均衡器將請(qǐng)求分發(fā)到不同的服務(wù)器上,以實(shí)現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移。同時(shí),可以使用容器技術(shù)如 Docker,將應(yīng)用打包成鏡像,以便快速部署和遷移。
服務(wù)層容災(zāi):服務(wù)層容災(zāi)主要是通過(guò)服務(wù)治理和容錯(cuò)機(jī)制來(lái)實(shí)現(xiàn)的??梢允褂梅?wù)注冊(cè)中心如 ZooKeeper、Consul 等來(lái)實(shí)現(xiàn)服務(wù)的注冊(cè)和發(fā)現(xiàn),以便快速定位故障服務(wù)并進(jìn)行故障轉(zhuǎn)移。同時(shí),可以使用熔斷器、限流器等容錯(cuò)機(jī)制來(lái)保護(hù)服務(wù)的穩(wěn)定性和可靠性。
數(shù)據(jù)層容災(zāi):數(shù)據(jù)層容災(zāi)主要是通過(guò)數(shù)據(jù)備份、數(shù)據(jù)同步和數(shù)據(jù)恢復(fù)來(lái)實(shí)現(xiàn)的??梢允褂脭?shù)據(jù)庫(kù)主從復(fù)制、分布式數(shù)據(jù)庫(kù)等技術(shù)來(lái)實(shí)現(xiàn)數(shù)據(jù)備份和同步,以保證數(shù)據(jù)的可靠性和一致性。同時(shí),可以使用數(shù)據(jù)恢復(fù)工具如 mysqldump、pg_dump 等來(lái)進(jìn)行數(shù)據(jù)恢復(fù)。
5. 看你項(xiàng)目是選gin作為框架的,為啥沒(méi)考慮集成度更高的go-zero, 你對(duì)go-zero了解多少?
gin入門簡(jiǎn)單、項(xiàng)目時(shí)間緊
gozero作為rpc微服務(wù)框架,后來(lái)有研究,比如:xxxxx巴拉巴拉
6. 為什么你選擇Kong作為網(wǎng)關(guān),基于什么考慮的
Kong 作為一個(gè) API 網(wǎng)關(guān),具有以下幾個(gè)優(yōu)勢(shì):
高性能:Kong 使用了 Nginx 作為底層引擎,具有高性能和高并發(fā)的特點(diǎn),可以處理大量的 API 請(qǐng)求。
可擴(kuò)展:Kong 提供了一系列的插件和擴(kuò)展機(jī)制,可以幫助開發(fā)者快速擴(kuò)展和定制 API 網(wǎng)關(guān)的功能和性能。
易于使用:Kong 提供了一系列的管理界面和 API,可以幫助開發(fā)者快速配置和管理 API 網(wǎng)關(guān)。
安全可靠:Kong 提供了一系列的安全機(jī)制,如身份驗(yàn)證、訪問(wèn)控制、防止 SQL 注入等,可以保障 API 的安全性和可靠性。
社區(qū)活躍:Kong 有一個(gè)非常活躍的社區(qū),提供了大量的文檔、教程、插件和擴(kuò)展,可以幫助開發(fā)者快速學(xué)習(xí)和使用 Kong。
7. 你在哪些層面做了限流及負(fù)載均衡?為什么這么考慮?
目前就網(wǎng)關(guān)層和srv層做了限流和負(fù)載均衡
網(wǎng)關(guān)層通過(guò)kong自帶計(jì)數(shù)器形式進(jìn)行限流,比如根據(jù)IP限流,設(shè)置每分鐘能訪問(wèn)50次
POST http://127.0.0.1:9001/services/audio-service/plugins
{
    "name":"rate-limiting",
    "config.minute":50,
    "config.limit_by":"ip"
}
錄入系統(tǒng)單元通過(guò)IP 黑白名單進(jìn)行限流
8. kong的負(fù)載均衡該怎么描述?
Kong 的負(fù)載均衡是基于 Nginx 的負(fù)載均衡實(shí)現(xiàn)的。
Kong 使用 Nginx 作為底層引擎,通過(guò) Nginx 的負(fù)載均衡模塊實(shí)現(xiàn)負(fù)載均衡功能。
具體來(lái)說(shuō),Kong 會(huì)將 API 請(qǐng)求分發(fā)到多個(gè)后端服務(wù)節(jié)點(diǎn)上,以實(shí)現(xiàn)負(fù)載均衡。
Kong 的負(fù)載均衡支持多種負(fù)載均衡算法,如輪詢、IP 哈希、最少連接數(shù)等。
我們可以根據(jù)自己的需求選擇合適的負(fù)載均衡算法。同時(shí),Kong 還提供了一系列的負(fù)載均衡配置選項(xiàng),如權(quán)重、健康檢查、故障轉(zhuǎn)移等,可以幫助開發(fā)者更加靈活地配置和管理負(fù)載均衡。
9. 項(xiàng)目中用到了gRPC,談?wù)勀銓?duì)gRPC的理解,及項(xiàng)目中是如何使用到的?
gRPC 是一個(gè)高性能、開源的遠(yuǎn)程過(guò)程調(diào)用(RPC)框架,它使用 Protocol Buffers 作為接口定義語(yǔ)言(IDL),可以幫助開發(fā)者快速構(gòu)建分布式應(yīng)用程序。gRPC 的特點(diǎn)包括:
高性能:gRPC 使用了基于 HTTP/2 的協(xié)議,可以提高應(yīng)用程序的性能和吞吐量。
跨語(yǔ)言支持:gRPC 支持多種編程語(yǔ)言,如 Go、Java、Python、C# 等,可以幫助開發(fā)者構(gòu)建跨語(yǔ)言的分布式應(yīng)用程序。
自動(dòng)生成代碼:gRPC 使用 Protocol Buffers 作為接口定義語(yǔ)言(IDL),可以自動(dòng)生成客戶端和服務(wù)器端的代碼,簡(jiǎn)化了開發(fā)者的工作量。
安全可靠:gRPC 提供了一系列的安全機(jī)制,如身份驗(yàn)證、訪問(wèn)控制、加密傳輸?shù)?,可以保障?yīng)用程序的安全性和可靠性。
在項(xiàng)目中,gRPC 可以用于實(shí)現(xiàn)微服務(wù)之間的通信。具體來(lái)說(shuō),開發(fā)者可以使用 gRPC 定義服務(wù)接口和數(shù)據(jù)類型,然后使用 gRPC 自動(dòng)生成客戶端和服務(wù)器端的代碼,最后在客戶端和服務(wù)器端之間進(jìn)行遠(yuǎn)程調(diào)用。
gRPC 可以幫助開發(fā)者實(shí)現(xiàn)高性能、跨語(yǔ)言、安全可靠的微服務(wù)通信,提高應(yīng)用程序的可擴(kuò)展性和可維護(hù)性。
簡(jiǎn)歷優(yōu)化&心理按摩&就業(yè)輔導(dǎo)
10. nacos做服務(wù)發(fā)現(xiàn)的原理?
Nacos 是一個(gè)開源的服務(wù)發(fā)現(xiàn)和配置管理平臺(tái),它可以幫助開發(fā)者實(shí)現(xiàn)服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、配置管理等功能。Nacos 的服務(wù)發(fā)現(xiàn)原理主要包括以下幾個(gè)步驟:
服務(wù)注冊(cè):服務(wù)提供者在啟動(dòng)時(shí)向 Nacos 注冊(cè)中心注冊(cè)自己的服務(wù)信息,包括服務(wù)名稱、服務(wù)地址、服務(wù)端口等。
服務(wù)發(fā)現(xiàn):服務(wù)消費(fèi)者在啟動(dòng)時(shí)向 Nacos 注冊(cè)中心查詢自己所需的服務(wù)信息,Nacos 注冊(cè)中心返回符合條件的服務(wù)提供者列表。
負(fù)載均衡:服務(wù)消費(fèi)者從服務(wù)提供者列表中選擇一個(gè)服務(wù)提供者進(jìn)行調(diào)用,可以使用負(fù)載均衡算法來(lái)選擇服務(wù)提供者。
心跳檢測(cè):服務(wù)提供者定期向 Nacos 注冊(cè)中心發(fā)送心跳信息,以保證服務(wù)提供者的可用性。
服務(wù)下線:服務(wù)提供者在停止服務(wù)時(shí)向 Nacos 注冊(cè)中心注銷自己的服務(wù)信息,以保證服務(wù)提供者的及時(shí)下線。
總結(jié)一下:Nacos 的服務(wù)發(fā)現(xiàn)原理主要是通過(guò)服務(wù)注冊(cè)、服務(wù)發(fā)現(xiàn)、負(fù)載均衡、心跳檢測(cè)和服務(wù)下線等步驟來(lái)實(shí)現(xiàn)的。Nacos 注冊(cè)中心作為服務(wù)發(fā)現(xiàn)的核心組件,可以幫助開發(fā)者實(shí)現(xiàn)高可用、高性能的服務(wù)發(fā)現(xiàn)功能。
11. nacos如何感知服務(wù)故障了或者離線了
Nacos 通過(guò)心跳檢測(cè)機(jī)制來(lái)感知服務(wù)故障或者離線。具體來(lái)說(shuō),服務(wù)提供者在啟動(dòng)時(shí)向 Nacos 注冊(cè)中心注冊(cè)自己的服務(wù)信息,并定期向 Nacos 注冊(cè)中心發(fā)送心跳信息。如果服務(wù)提供者在一定時(shí)間內(nèi)沒(méi)有發(fā)送心跳信息,Nacos 注冊(cè)中心會(huì)認(rèn)為該服務(wù)提供者已經(jīng)故障或者離線,將其從服務(wù)列表中移除。
Nacos 的心跳檢測(cè)機(jī)制可以通過(guò)以下幾個(gè)參數(shù)進(jìn)行配置:
心跳間隔(默認(rèn)為 5 秒):服務(wù)提供者向 Nacos 注冊(cè)中心發(fā)送心跳信息的時(shí)間間隔。
心跳超時(shí)時(shí)間(默認(rèn)為 15 秒):Nacos 注冊(cè)中心在服務(wù)提供者未發(fā)送心跳信息的時(shí)間超過(guò)該值時(shí),認(rèn)為服務(wù)提者已經(jīng)故障或者離線。
實(shí)例存活時(shí)間(默認(rèn)為 90 秒):Nacos 注冊(cè)中心在服務(wù)提供者未發(fā)送心跳信息的時(shí)間超過(guò)該值時(shí),將自動(dòng)注銷該服務(wù)提供者的服務(wù)實(shí)例。
通過(guò)配置這些參數(shù),我們就可以根據(jù)自己的需求來(lái)調(diào)整心跳檢測(cè)機(jī)制的敏感度和精度,以保證服務(wù)發(fā)現(xiàn)的及時(shí)性和可靠性。
12. Nacos 如何進(jìn)行故障恢復(fù)?
Nacos 通過(guò)以下幾種方式來(lái)進(jìn)行故障恢復(fù):
自動(dòng)切換:Nacos 支持多個(gè)注冊(cè)中心節(jié)點(diǎn)的部署,當(dāng)某個(gè)節(jié)點(diǎn)發(fā)生故障時(shí),Nacos 可以自動(dòng)切換到其他節(jié)點(diǎn)進(jìn)行服務(wù)發(fā)現(xiàn)和配置管理。
自動(dòng)恢復(fù):Nacos 支持多個(gè)服務(wù)提供者的部署,當(dāng)某個(gè)服務(wù)提供者發(fā)生故障時(shí),Nacos 可以自動(dòng)切換到其他服務(wù)提供者進(jìn)行服務(wù)調(diào)用。
自動(dòng)重試:Nacos 支持自動(dòng)重試機(jī)制,當(dāng)服務(wù)調(diào)用失敗時(shí),Nacos 可以自動(dòng)重試,直到服務(wù)調(diào)用成功或者達(dá)到最大重試次數(shù)。
健康檢查:Nacos 支持健康檢查機(jī)制,可以定期檢查服務(wù)提供者的健康狀態(tài),當(dāng)服務(wù)提供者發(fā)生故障時(shí),Nacos 可以自動(dòng)將其從服務(wù)列表中移除,直到服務(wù)恢復(fù)正常。
總結(jié)一下:Nacos 通過(guò)自動(dòng)切換、自動(dòng)恢復(fù)、自動(dòng)重試和健康檢查等機(jī)制來(lái)進(jìn)行故障恢復(fù),可以幫助我們實(shí)現(xiàn)高可用、高性能的服務(wù)發(fā)現(xiàn)和配置管理功能。同時(shí),Nacos 還提供了一系列的監(jiān)控和告警機(jī)制,可以幫助開發(fā)者及時(shí)發(fā)現(xiàn)和解決故障,提高應(yīng)用程序的可靠性和穩(wěn)定性。
13. 故障恢復(fù)的負(fù)載均衡是哪一部分做的?
在故障恢復(fù)的過(guò)程中,Nacos 的負(fù)載均衡是由服務(wù)消費(fèi)者的負(fù)載均衡模塊來(lái)實(shí)現(xiàn)的。具體來(lái)說(shuō),當(dāng)服務(wù)消費(fèi)者向 Nacos 注冊(cè)中心查詢服務(wù)提供者列表時(shí),Nacos 注冊(cè)中心會(huì)返回符合條件的服務(wù)提供者列表,服務(wù)消費(fèi)者會(huì)根據(jù)負(fù)載均衡算法從服務(wù)提供者列表中選擇一個(gè)服務(wù)提供者進(jìn)行調(diào)用。如果選擇的服務(wù)提供者發(fā)生故障或者離線,服務(wù)消費(fèi)者會(huì)重新選擇一個(gè)服務(wù)提供者進(jìn)行調(diào)用,以實(shí)現(xiàn)故障恢復(fù)和負(fù)載均衡。
Nacos 支持多種負(fù)載均衡算法,如輪詢、隨機(jī)、最少連接數(shù)等,服務(wù)消費(fèi)者可以根據(jù)自己的需求選擇合適的負(fù)載均衡算法。同時(shí),Nacos 還提供了一系列的負(fù)載均衡配置選項(xiàng),如權(quán)重、健康檢查、故障轉(zhuǎn)移等,可以幫助我們更加靈活地配置和管理負(fù)載均衡。
在故障恢復(fù)的過(guò)程中,Nacos 的負(fù)載均衡是由服務(wù)消費(fèi)者的負(fù)載均衡模塊來(lái)實(shí)現(xiàn)的,服務(wù)消費(fèi)者可以根據(jù)自己的需求選擇合適的負(fù)載均衡算法和配置選項(xiàng),以實(shí)現(xiàn)故障恢復(fù)和負(fù)載均衡。
14. 網(wǎng)關(guān)層的緩存、限流是如何做的, 故障轉(zhuǎn)移是如何做的?
網(wǎng)關(guān)層的緩存和限流是通過(guò)網(wǎng)關(guān)層的插件來(lái)實(shí)現(xiàn)的。具體來(lái)說(shuō),網(wǎng)關(guān)層可以使用緩存插件和限流插件來(lái)實(shí)現(xiàn)緩存和限流功能。緩存插件可以將經(jīng)常請(qǐng)求的數(shù)據(jù)緩存到內(nèi)存中,以提高響應(yīng)速度和降低后端服務(wù)的壓力;限流插件可以限制請(qǐng)求的速率和數(shù)量,以保護(hù)后端服務(wù)的穩(wěn)定性和可靠性。
在故障轉(zhuǎn)移方面,網(wǎng)關(guān)層可以通過(guò)負(fù)載均衡插件來(lái)實(shí)現(xiàn)。具體來(lái)說(shuō),網(wǎng)關(guān)層可以將請(qǐng)求分發(fā)到多個(gè)后端服務(wù)節(jié)點(diǎn)上,以實(shí)現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移。當(dāng)某個(gè)后端服務(wù)節(jié)點(diǎn)發(fā)生故障或者離線時(shí),網(wǎng)關(guān)層可以自動(dòng)將請(qǐng)求轉(zhuǎn)發(fā)到其他可用的后端服務(wù)節(jié)點(diǎn)上,以保證服務(wù)的可用性和穩(wěn)定性。
總結(jié)一下:網(wǎng)關(guān)層的緩存、限流和故障轉(zhuǎn)移是通過(guò)網(wǎng)關(guān)層的插件來(lái)實(shí)現(xiàn)的。網(wǎng)關(guān)層可以使用緩存插件和限流插件來(lái)實(shí)現(xiàn)緩存和限流功能,使用負(fù)載均衡插件來(lái)實(shí)現(xiàn)故障轉(zhuǎn)移功能。這些插件可以幫助開發(fā)者實(shí)現(xiàn)高性能、高可用、高穩(wěn)定性的網(wǎng)關(guān)層服務(wù)。
15. redis如何實(shí)現(xiàn)分布式鎖有哪些?有哪些優(yōu)缺點(diǎn) ?
Redis 實(shí)現(xiàn)分布式鎖的方式主要有以下幾種:

基于 SETNX 命令:使用 SETNX 命令可以將一個(gè)鍵值對(duì)設(shè)置為鎖,如果該鍵值對(duì)不存在,則設(shè)置成功,表示獲取鎖成功;否則設(shè)置失敗,表示獲取鎖失敗。釋放鎖時(shí)可以使用 DEL 命令刪除該鍵值對(duì)。
基于 Lua 腳本:使用 Lua 腳本可以將獲取鎖和釋放鎖的操作封裝為一個(gè)原子操作,避免了多個(gè) Redis 命令之間的競(jìng)爭(zhēng)條件。
基于 Redlock 算法:Redlock 算法是一種分布式鎖算法,可以在多個(gè) Redis 節(jié)點(diǎn)之間實(shí)現(xiàn)分布式鎖。具體來(lái)說(shuō),Redlock 算法將鎖分為多個(gè)副本,每個(gè)副本在不同的 Redis 節(jié)點(diǎn)上,獲取鎖時(shí)需要在多個(gè)副本上都獲取成功才算獲取鎖成功。
Redis 實(shí)現(xiàn)分布式鎖的優(yōu)缺點(diǎn)如下:

競(jìng)爭(zhēng)條件:在高并發(fā)的情況下,多個(gè)客戶端同時(shí)獲取鎖可能會(huì)導(dǎo)致競(jìng)爭(zhēng)條件,需要使用適當(dāng)?shù)乃惴ê图夹g(shù)來(lái)避免競(jìng)爭(zhēng)條件的發(fā)生。
鎖過(guò)期問(wèn)題:如果鎖的過(guò)期時(shí)間設(shè)置不合理,可能會(huì)導(dǎo)致鎖過(guò)期后其他客戶端獲取鎖,導(dǎo)致數(shù)據(jù)不一致或者死鎖等問(wèn)題。因此,需要根據(jù)實(shí)際情況合理設(shè)置鎖的過(guò)期時(shí)間。
性能損失:在使用 Redlock 算法時(shí),需要在多個(gè) Redis 節(jié)點(diǎn)之間進(jìn)行通信和協(xié)調(diào),可能會(huì)導(dǎo)致性能損失和延遲增加。
高性能:Redis 是一種高性能的內(nèi)存數(shù)據(jù)庫(kù),可以快速地進(jìn)行鎖的獲取和釋放操作。
可靠性高:Redis 支持主從復(fù)制和 Sentinel 高可用方案,可以保證分布式鎖的可靠性和穩(wěn)定性。
易于使用:Redis 提供了多種實(shí)現(xiàn)分布式鎖的方式,開發(fā)者可以根據(jù)自己的需求選擇合適的方式。
優(yōu)點(diǎn):
缺點(diǎn):
總結(jié)一下:Redis 實(shí)現(xiàn)分布式鎖是一種高性能、可靠性高、易于使用的方式,但需要注意競(jìng)爭(zhēng)條件、鎖過(guò)期問(wèn)題和性能損失等問(wèn)題。開發(fā)者可以根據(jù)自己的需求選擇合適的實(shí)現(xiàn)方式,并結(jié)合實(shí)際情況進(jìn)行優(yōu)化和調(diào)整,以保證分布式鎖的可靠性和性能。

16. 目前服務(wù)大概并發(fā)是多少?
介紹并發(fā)應(yīng)該從以下幾個(gè)指標(biāo)來(lái)回答:QPS PV UV 并發(fā)連接數(shù) 響應(yīng)時(shí)間

QPS(每秒查詢率):QPS 是指每秒鐘能夠處理的查詢請(qǐng)求的數(shù)量,是衡量系統(tǒng)性能的重要指標(biāo)之一。
TPS(每秒事務(wù)數(shù))是指系統(tǒng)每秒鐘能夠處理的事務(wù)數(shù)量,其中事務(wù)可以是數(shù)據(jù)庫(kù)事務(wù)、HTTP 請(qǐng)求、RPC 調(diào)用等。
PV(頁(yè)面瀏覽量):PV 是指用戶訪問(wèn)網(wǎng)站的頁(yè)面數(shù)量,是衡量網(wǎng)站流量的重要指標(biāo)之一。
UV(獨(dú)立訪客數(shù)):UV 是指訪問(wèn)網(wǎng)站的獨(dú)立用戶數(shù)量,是衡量網(wǎng)站用戶數(shù)量的重要指標(biāo)之一。
并發(fā)連接數(shù):并發(fā)連接數(shù)是指同時(shí)連接到服務(wù)器的用戶數(shù)量,是衡量系統(tǒng)并發(fā)能力的重要指標(biāo)之一。
響應(yīng)時(shí)間:響應(yīng)時(shí)間是指系統(tǒng)處理請(qǐng)求的時(shí)間,是衡量系統(tǒng)性能和用戶體驗(yàn)的重要指標(biāo)之一。
舉個(gè)栗子,對(duì)于一個(gè)用戶量為100萬(wàn)+的電商網(wǎng)站,以下是一些可能的指標(biāo)取值范圍:

QPS:根據(jù)業(yè)務(wù)場(chǎng)景和系統(tǒng)設(shè)計(jì),QPS 可能在幾百到幾千之間,甚至更高。
數(shù)據(jù)庫(kù)事務(wù):根據(jù)業(yè)務(wù)場(chǎng)景和數(shù)據(jù)庫(kù)設(shè)計(jì),TPS 可能在幾百到幾千之間,甚至更高。
HTTP 請(qǐng)求:假設(shè)每個(gè)用戶平均每天訪問(wèn)網(wǎng)站10次,那么每天的 HTTP 請(qǐng)求可能在1000萬(wàn)+,每秒鐘的 TPS 可能在幾百到幾千之間。
RPC 調(diào)用:假設(shè)每個(gè)用戶平均每天進(jìn)行10次 RPC 調(diào)用,那么每天的 RPC 調(diào)用可能在1000萬(wàn)+,每秒鐘的 TPS 可能在幾百到幾千之間。
PV:假設(shè)每個(gè)用戶平均訪問(wèn)網(wǎng)站10個(gè)頁(yè)面,那么每天的 PV 可能在1000萬(wàn)+。
UV:假設(shè)每個(gè)用戶平均每天訪問(wèn)網(wǎng)站1次,那么每天的 UV 可能在100萬(wàn)到數(shù)百萬(wàn)之間。
并發(fā)連接數(shù):根據(jù)業(yè)務(wù)場(chǎng)景和系統(tǒng)設(shè)計(jì),可能需要支持?jǐn)?shù)千到數(shù)萬(wàn)的并發(fā)連接數(shù)。
響應(yīng)時(shí)間:根據(jù)業(yè)務(wù)場(chǎng)景和用戶體驗(yàn)要求,響應(yīng)時(shí)間應(yīng)該控制在幾百毫秒以內(nèi)。
17. 應(yīng)用層與服務(wù)層的部署分布部署了多少節(jié)點(diǎn)?
仍然以用戶量100萬(wàn)+作為預(yù)估:
應(yīng)用層:將應(yīng)用層部署在多臺(tái)服務(wù)器上,每臺(tái)服務(wù)器部署多個(gè)應(yīng)用實(shí)例,來(lái)實(shí)現(xiàn)負(fù)載均衡和故障轉(zhuǎn)移。可能需要10臺(tái)~100臺(tái)服務(wù)器,每臺(tái)服務(wù)器部署10個(gè)左右的應(yīng)用實(shí)例
服務(wù)層:和應(yīng)用層是一樣的,可能需要10臺(tái)~100臺(tái)服務(wù)器,每臺(tái)服務(wù)器部署10個(gè)左右的應(yīng)用實(shí)例。
18. 項(xiàng)目中目前是基于什么實(shí)現(xiàn)的高并發(fā),以及在處理的時(shí)候需要注意哪些問(wèn)題?遇到哪些印象比較深刻的問(wèn)題?
高并發(fā)
分布式架構(gòu)
緩存技術(shù)
異步消息
需要注意的問(wèn)題
慢查詢
索引
索引命中
索引類型
jaeger
數(shù)據(jù)一致性
追蹤定位分析問(wèn)題的方式
數(shù)據(jù)庫(kù)優(yōu)化
負(fù)載均衡和故障轉(zhuǎn)移
容災(zāi)問(wèn)題
印象深刻的問(wèn)題:
備份
數(shù)據(jù)傳輸
mongo鏈接數(shù)過(guò)多
數(shù)據(jù)庫(kù)連接池過(guò)多
緩存穿透、擊穿的問(wèn)題
安全性問(wèn)題
三方服務(wù)對(duì)接的坑,對(duì)接上游和下游分別遇到的問(wèn)題
Go語(yǔ)言開發(fā)和之前Python開發(fā)的對(duì)比
分布式開發(fā)和單體開發(fā)的對(duì)比




請(qǐng)前往:http://lygongshang.com/TeacherV2.html?id=365