2019年12月14日,由又拍雲、Apache APISIX 社區聯合舉辦的 API 網關與高性能服務實踐丨又拍雲 Open Talk 在廣州圓滿落幕,這是繼深圳、北京、成都、上海、武漢、杭州活動後,系列活動的第七站。

△ 活動現場合影
本次 Open Talk 廣州站活動,邀請了Apache APISIX PPMC 溫銘、又拍雲首席布道師邵海楊、HelloTalk 後端技術負責人李淩、騰訊雲研發工程師厲輝,為到場的近百名技術愛好者和上千名直播觀衆帶來關于微服務網關、Service Mesh、網絡代理、負載均衡算法等備受關注的話題分享。
從 Apache APISIX 看 API 網關的演進
OpenResty 軟件基金會發起人溫銘做了開場分享,他是開源微服務 API 網關 APISIX 作者,《OpenResty 從入門到實戰》專欄作者,他以開源微服務 API 網關 Apache APISIX 為例探究 API 網關的演進。

△ Apache APISIX PPMC 成員溫銘
Apache APISIX是一個雲原生、高性能、可擴展的微服務 API 網關,基于 OpenResty 和 etcd 實現。和傳統 API 網關相比,Apache APISIX 增加了包括支持多雲和混合雲、無狀态、随意擴容和縮容等在内的諸多功能,能夠更為妥帖的滿足企業個性需求的開發。
溫銘對微服務的演進進行剖析,微服務從類庫至 proxy、到 sidecar, 再到 Service Mesh 各個階段面臨不同痛點,在此基礎上不斷變革演進。溫銘認為微服務發展至今,将會分久必合、抛棄 sidecar,走向中心節點或者集群的模式,全動态、全協議支持、高性能、雲原生友好的網關是下一代網關發展方向。
OpenResty 在又拍雲容器平台中的應用
來自又拍雲的邵海楊是系統運維架構師,多年 CDN 行業架構設計、運維開發、團隊管理相關經驗,目前專注于容器及虛拟化技術在又拍雲的私有雲實踐。他現場介紹了 Kong、Ingress-Nginx 等基于 OpenResty 實現的 API 網關和負載均衡器的使用方法和工作原理,以及如何基于 OpenResty 實現高性能的内部負載網關,分享了 OpenResty 在又拍雲容器平台的實踐經驗。

△ 拍雲首席架構師邵海楊
又拍雲的業務具有域名多、服務多、調用關系複雜、流量大、高可用等業務特點。邵海楊從業務場景出發,分享了又拍雲利用 OpenResty 開發的解決方案:使用 API 網關管理上千個域名,因為服務非常多需要容器化并實現不同節點的容器間網絡互通,同時提供高性能的負載⽹網關、避免産生額外流量 ,最後用 VIP 或域名的方式取代直接的 IP 訪問以及在實際實現過程中使用的開源軟件和需要注意的點。
HelloTalk 基于 OpenResty 的全球化探索
李淩是HelloTalk Inc後台技術負責人,目前專注服務出海和基于 Golang/CPP 的 IM 服務及相關技術平台的架構。他從業務場景、業務實踐、技術選型等多個方面介紹 HelloTalk 如何使用 OpenResty 在 IM 服務、feed 流服務方面優化和治理。

△ HelloTalk Inc後台技術負責人李淩
HelloTalk 是全球的外語學習社交社區,在走向國際化過程中,面臨用戶分布區域較為分散、語言和網絡環境一樣複雜的問題,需要不斷提高用戶的全球接入質量。在多雲環境下的全球接入的管理中,HalloTalk從以下方面着手:
l 支持websocket的7層加速。(雲服務+自建)
l 自建低速率的VPC+專線通道。(性價比考慮)
l 長短連接混合收發消息:Websocket 、long polling、httpdns + 内置IP failover機制
在考慮自建網關時,李淩認為其需求比較簡單,依賴 RDMS 會帶來額外的維護成本,而Apache APISIX 代碼簡單易懂,基于ETCD、節省維護成本,故而考慮引進Apache APISIX。此外,李淩還現場分享成為 Apache APISIX 首位非初始 Committer 的經曆,可以供後續開源愛好者參考。
k8s ingress controller如何選型
來自騰訊雲雲研發工程師厲輝主要以 Apache APISIX 為例,對比多款主流 k8s ingress controller,介紹如何選擇一款适合自己的 k8s ingress controller。

△ 騰訊雲研發工程師厲輝
厲輝認為基于官方 Ingress 功能基礎擴展功能較少,開源Ingress種類繁多,開發人員擅長的技術棧不一樣等問題導緻 Ingress 選型困難重重。在做 Ingress 選型時,厲輝介紹他主要考慮以下幾個點:
l 基本特點:開源、服務發現、TLS、WebSocket 等
l 基礎軟件:Nginx、HAProxy、Envoy、Golang
l 功能需求:流量調度、空間命名
厲輝推薦選擇 Apache APISIX 作為 ingress controller。ingress controller是把 K8S 的狀态同步到網關的組件,他詳細介紹了如何把Apache APISIX 網關實現成 ingress controller。
至此本次 Open Talk 廣州站活動完美落幕,四位講師通過分享自身的經曆,令現場和直播觀衆受益頗多。線上将陸續更新本次活動四位講師的現場分享内容,敬請關注 Open Talk 官網或又拍雲微信公衆号。
免責聲明:本文僅代表作者個人觀點,與每日科技網無關。其原創性以及文中陳述文字和内容未經本站證實,對本文以及其中全部或者部分内容、文字的真實性、完整性、及時性本站不作任何保證或承諾,請讀者僅作參考,并請自行核實相關内容。
本網站有部分内容均轉載自其它媒體,轉載目的在于傳遞更多信息,并不代表本網贊同其觀點和對其真實性負責,若因作品内容、知識産權、版權和其他問題,請及時提供相關證明等材料并與我們聯系,本網站将在規定時間内給予删除等相關處理.

