iT邦幫忙

2023 iThome 鐵人賽

DAY 21
1
自我挑戰組

SRE 照書養系列 第 21

Day 21 - SRE 照書養:從莎士比亞搜索看 Google 內部服務交互(中)

  • 分享至 

  • xImage
  •  

安安!大家週四好!颱風天祝大家平平安安!今天來看什麼是莎士比亞搜索內的用戶請求過程!這裡是今天讀的原文出處:The Production Environment at Google, from the Viewpoint of an SRE,那我們就開始吧!

下圖是書中提供的圖片,我們來一條一條檢視吧!首先,用戶使用瀏覽器訪問 https://shakespeare.google.com

  1. 為了獲得 IP 地址,用戶設備需要請求 DNS 服務器
    1. (這是 Google DNS Server 跟 GSLB 之間那段)該 DNS 請求最後會到達 Google 的 DNS 服務器。Google 的 DNS 服務器會請求 GSLB 系統
    2. GSLB 通過全局流量負載信息,決定使用哪個 IP 地址回覆用戶
  2. 用戶瀏覽器利用獲得的 IP 地址連接到 HTTP 服務器,這個服務器(Google 前端服務器 GFE)負責終結 TCP 連接,並且反向代理請求到真正的服務器上
    1. GFE 從配置文件中找到該請求對應的後端服務
    2. (這是 GFE 跟 GSLB 之間那段)GFE 再次諮詢 GSLB 系統,獲得一個 GSLB 分配的目前可用的 Shakespeare 服務器地址
  3. GFE 向目前可用的 Shakespeare Frontend 服務器地址發送一個 RPC 請求
    1. Shakespeare Frontend 服務器分析接收到的請求,構建出一個具體查詢的Protobuf 請求
  4. Shakespeare Frontend 服務器需要聯繫後端服務器來做具體查詢
    1. (這是 Application Frontend 跟 GSLB 那段)Shakespeare Frontend 服務器也需要聯繫 GSLB 服務,獲取目前可用的(同時符合負載均衡條件的)後端服務器的 BNS 地址
  5. Shakespeare Backend 服務器隨後請求 Bigtable 服務器來獲得最終查詢結果
    1. 最終結果被寫入一個 Protobuf 結構體中,返回給 Shakespeare Backend 服務器,後端服務器將其回覆給 Shakespeare Frontend 服務器,前端服務器最終根據這個數據結構構建 HTML 回覆給最終用戶。

image

後記

今天介紹了莎士比亞搜索內的用戶請求過程,可以發現 GSLB 真的超重要的拉!!每個步驟都會透過他去找到下一個目的地,明天會繼續講解 Job 和 Data,那我們就明天見拉!掰噗!


上一篇
Day 20 - SRE 照書養:從莎士比亞搜索看 Google 內部服務交互(上)
下一篇
Day 22 - SRE 照書養:從莎士比亞搜索看 Google 內部服務交互(下)
系列文
SRE 照書養30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言