主頁 > 資料庫 > 滴滴七層接入平臺實踐和探索

滴滴七層接入平臺實踐和探索

2020-09-10 06:19:05 資料庫

桔妹導讀:滴滴七層接入平臺負責滴滴全公司http東西向和南北向流量的接入,其請求峰值qps數百萬,日請求量數千億,接入域名數千個、接入服務數千個、轉發規則數萬個,其穩定高效的運行對于保障滴滴業務至關重要,本文將主要介紹七層接入平臺在服務治理和穩定性建設上的實踐,同時也分享其在云原生領域一些探索和規劃,

1. 概況

從2014年底誕生至今,滴滴七層接入平臺服務規模如下:

  • 負責全公司http請求東西向和南北向的流量接入和治理,涉及多個事業部,
  • 請求峰值qps數百萬,日請求量數千億,接入域名數千個、接入服務數千個、轉發規則數萬個,

千億級的流量轉發規模不僅對系統自身的穩定性和性能提出了極大的挑戰,業務對接入平臺也提出了更高的期望:除了自身穩定性和性能外,平臺要進一步賦能和助力業務穩定性和效能的提升,具體體現在:

  • 自身穩定性

    可用性99.99%

  • 自身性能

    平均轉發延時<1ms

  • 穩定性賦能

    作為http服務統一的技術底座和穩定性能力規模化重要抓手,輸出各種穩定性基礎能力賦能到業務穩定性的建設和提升,

  • 效能賦能

    挖掘痛點,提高研發/運維/測驗全生命周期的效能,

經過5年的持續迭代和演進,滴滴7層接入平臺整體架構如下:整體上分為資料面和控制面兩部分:

圖1. 七層接入平臺整體架構

資料面:
基于開源nginx建設,提供高穩定、高性能、多協議、安全的流量接入和服務治理,

控制面:

  • 接入和配置變更:自研配置變更平臺,用戶可以通過配置變更完成域名或服務的接入,并配置豐富的規則和策略,
  • 可觀察性:請求資料聯動滴滴監控體系,提供面向全公司的http服務細粒度和多維度監控以及監控大盤,
  • 服務治理:服務治理聯動滴滴公司級別911預案平臺、放火平臺,提供體驗統一的預案管理和故障注入操作能力,
  • 服務發現:服務發現聯動滴滴統一名字服務DSI(Didi Service Information),提供穩定、實時的服務發現能力,
  • 安全防控:安全防控聯動公司WAF系統,對滴滴全公司應用層安全進行保駕護航,

本文將從以下三個方面進行滴滴七層接入平臺的實踐和探索介紹:「服務治理能力建設」、「穩定性建設」和「云原生時代接入平臺探索」,

2. 服務治理能力建設

我們將從以下幾個方面進行服務治理能力介紹:「服務發現」、「預案能力」和「可觀察性」,

服務發現

經過調研,社區常用的upstream動態更新方案有4個:
表1. 社區upstream服務發現方案調研

以上方案均不能完全滿足我們的需求,參考方案3和方案4,我們重新設計了nginx upstream動態更新模塊,兼顧了穩定性、性能和可維護性,支持全公司http服務的服務發現,涉及數千個服務,特點如下:

  • 采用增量更新upstream server機制

  • 提供基于HTTP Restful API的輕量upstream reload介面,實作對upstream的動態變更

  • 完全兼容現有配置方式

  • 對配置進行持久化

同時通過接入平臺的服務發現實踐,我們抽象出公司級名字服務DSI(Didi Service Information),DSI通過open api,除了接入平臺外,公司服務發現SDK DiSF、四層代理DGW、容器平臺、部署系統等系統也已經全部和DSI進行了打通聯動,形成了公司基于DSI的統一服務發現體系,同時基于這套服務發現體系,也陸續范訓出一些穩定性作業的平臺和能力,比如自動哨兵壓測平臺進行子系統容量精確評估和預警,比如對業務透明的無損發布機制等,

圖2. 滴滴服務發現體系

預案能力

我們基于接入引擎建設了http服務統一的限流、切流、故障注入等底層服務治理能力,并且和公司級911預案平臺、放火平臺打通聯動,提供統一和易用的操作界面供用戶使用,具體包括:

  • 多維度限流能力、限流閾值自動推薦能力、限流閾值自適應能力,目前已經成為公司穩定性保障的重要抓手
  • 多維度切流能力,在滴滴專快異地多活、子系統切流和業務上云灰度中起到了重要的作用
  • 基于介面粒度的錯誤率和延時故障注入能力,已經開始陸續在強弱依賴驗證、預案有效性驗證等場景中發揮作用,

可觀察性

作為流量門戶,接入平臺通過輸出請求標準資料并打通SRM服務可觀察性系統,對公司http流量的可觀察性起到了重要作用,

圖3. 多維度監控示例-介面監控

圖4. 服務監控大盤

3. 穩定性建設

七層接入平臺作為公司的超一級服務,對穩定性有著極高的要求,如果接入平臺出現穩定性故障,很有可能導致滴滴全平臺業務不可用,對公司帶來巨大的經濟和品牌損失,除了建設穩定性基礎能力外,我們還從以下3個方面重點進行七層接入平臺的穩定性建設:「歸零風險防控」、「接入引擎架構升級」和「配置變更風險防控」,

歸零風險防控

我們總結接入平臺主要的歸零風險為:代碼變更例外、容量不足、外網高可用能力欠缺、運維誤操作4類,相關應對措施分別為:

代碼變更:技術上全部采用公司代碼變更風險防控機制的最嚴標準強制控制,流程上要求變更必須要跨天完成,至少經歷早晚兩個高峰,

容量不足:制定了快速擴容技術方案,目前正在嘗試通過對接入引擎容器化提高彈性伸縮能力,

外網高可用能力:通過httpdns進行流量切換和自建/非自建出口調度能力進行外網止損能力建設,

運維誤操作:所有高風險運維操作必須double check和分級、運維操作隔離域功能的應用,

接入引擎升級

最開始我們使用的接入引擎是tengine,版本為2.1.0,發布于2014年12月,tengine基于的nginx版本是1.6.2,2014年4月發布,到2018年,我們陸續發現一些接入引擎的穩定性問題,主要體現在以下3方面:

  • 一些隱藏較深的bug不時在接入引擎上出現,修復成本和風險都較高,而最新的nginx已經全部修復,
  • 一些新的需求在tengine1.6.2的架構下已經很難繼續演進和發展,比如動態upstream支持、一致性hash演算法支持服務發現等,團隊的研發效率和系統的可擴展性都無法得到更好的滿足,最終也會體現在穩定性風險上,
  • 一些穩定性能力提升的功能在最新nginx版本下已經得到了支持,比如worker_shutdown_timeout 和reuseport指令等,而我們還沒有辦法直接使用,

為了徹底解決這3個方面的穩定性風險,我們將接入引擎從2014年的tengine成功升級到2018年的nginx,同時進行了很多優化作業,主要收益如下:

  • 修復了8個重要功能性能bug,其中5個在線上已經發生

  • 進行了15項重要功能改進和優化,其中5個已經在線上觸發問題,

  • 解決了發布更新時部分實體流量抖動,嚴重時甚至cpu掉底的問題

  • 解決了一致性hash演算法在實體調權時全部接入引擎吞吐下降,業務劇烈抖動和報警的問題

  • 創新性解決了srww演算法在有哨兵場景下進行壓測或者發布更新時服務劇烈抖動,嚴重時甚至cpu掉底的問題,相關patch正在整理中,計劃提交給nginx官方社區,后續也會整理文章對外分享,

除了穩定性收益外,引擎升級新增了6個業務強需求的功能和5個業務有預期的功能,長遠看對接入引擎長期演進也奠定了良好的穩定性和擴展性基礎,

配置變更風險防控

接入平臺在2016和2017年分別有兩次導致全平臺故障的p1、p2(公司事故等級,最高p1)事故,原因全部為配置變更引起,接入平臺的配置描述能力過于強大和靈活,在提供豐富靈活能力的同時不可避免會帶來穩定性的隱患,因此配置變更的風險防控能力就作為穩定性保障的重中之重,我們設計實作了接入平臺配置變更平臺海姆,平臺抽象和約束了接入引擎配置模型,同時將代碼部署的風險防控能力全部復用到配置變更系統上,配置變更風險得到了較好的防控,再也沒有出現過因為配置變更導致的p2+故障,海姆平臺的主要風險防控特點如下:

  • 預防能力:

    配置模型的抽象和約束

    配置語法檢查和語意檢查能力

    配置強制review功能

    配置分級發布功能(支持不同服務配置并行發布)

    配置強制double check功能

圖5. 轉發規則抽象示例

圖6. 配置變更風險防控能力

  • 發現能力:

    配置變更系統打通風險防控體系,服務有例外會自動進行風險提示和變更攔截,

圖7.配置變更風險提示和攔截

  • 止損能力:

    配置常態回滾和快速回滾能力

4. 云原生時代接入平臺探索

多協議支持

多協議支持是云原生接入平臺非常重要的一個能力,業內主流的資料面sidecar envoy/linkerd2-proxy/mosn等都具備多協議支持的能力,而滴滴東西向流量最廣泛使用的協議就是http和thrift,

2019年隨著接入平臺對http協議流量管理和服務治理實踐的成熟和thrift協議統一高效服務治理的迫切性,我們啟動了接入引擎支持thrift協議的專項研發攻堅作業,目前已經在金融業務線進行了多個模塊的落地,幫助業務解決了服務優雅發布、可觀察性等痛點,最近Nginx官方社區也已經認可接受我們的代碼作為第三方模塊,目前正在開源籌備中,thrift接入引擎具備如下的特點:

  • 通用thrift編解碼器:

    支持多種序列化協議,包括TBinaryProtocol、TcompactProtocol

    支持多種傳輸層協議,包括Tsocket、TFramedTransport

    協議編解碼無需IDL

    模塊化設計,很好的可擴展性

    編解碼器提供通用介面,非nginx系結,可以集成到其它代理中使用

    基于樹的靈活高效IDL欄位Setter和Getter(Doing)

  • 模塊化設計:

    轉發能力模塊化,可作為獨立的第三方模塊集成到nginx,

  • 簡單易用:

    配置模型基本同http,簡單易上手

  • 功能強大:

    和http打平的服務治理能力,包括可觀察性、限流、路由等

  • 高性能:

    多行程異步無阻塞的編解碼和請求轉發模型

接入引擎mesh化

在集中式接入引擎誕生的5年多時間內,其持續在流量管理和服務治理上對業務穩定性保障進行賦能,隨著云原生時代的到來和服務治理逐步進入深水區,集中式接入平臺面臨著新的挑戰:

1. 極致的穩定性要求

集中式接入引擎始終有3個無法回避的穩定性隱患

① 多業務共享集群:

相互可能有影響:雖然通過穩定性機制建設的完善,近3年來沒有因此帶來穩定性事故,但共享集群的風險始終沒有徹底根除,尤其在一些新功能開發和應用實踐時始終如履薄冰,比如針對某個服務請求進行故障注入時理論上仍然可能對其它業務線帶來影響,

② 魯棒性較弱:

業務對接入引擎延時非常敏感(毫秒級要求),數萬qps下接入引擎有時單機甚至單行程延時抖動就會對敏感業務帶來較大影響,甚至觸發業務線一級報警,運維同學承擔著巨大的心理壓力,

③ 容量邊界的不確定性:

七層接入平臺前往往還有一個四層接入代理,通過vip提供給業務方使用,二者對容量的精準評估和快速的彈性伸縮能力都有很高的要求,否則很有可能存在雪崩的歸零風險,

2. 極致的運維效率

①接入引擎和業務服務生命周期不同,整個接入體驗不好,效率較低,

② 轉發規則的維護成本很高

以上2點導致服務治理能難以較低的成本進行規模化落地,我們正在聯合業務團隊、彈性云和研發云團隊做接入引擎mesh化的探索作業,mesh化后以上的挑戰將會得到很大程度的化解,目前正在仿真環境將接入引擎mesh化到客戶端側解決流量倍訓的問題,

5. 總結

經過5年多的發展和演進,滴滴七層接入平臺在穩定性能力建設、服務治理能力建設、云原生接入的探索取得了一些進展:

規模化的服務治理能力

  • 支持公司全公司http服務限流預案400+、限流介面2400+、切流預案400+,

  • 持全公司http服務的服務發現,涉及數千個服務,

  • 支持全公司http服務可觀察性能力建設,包括標準監控和細粒度多維度監控,

一級的穩定性保障能力

系統可用性>99.99%,轉發延時<1ms,連續3年沒有對業務可用性帶來影響,

云原生接入引擎探索

  • 完成接入引擎多協議的支持,

  • 完成接入引擎mesh化探索,并打通相關控制面,即將在業務試點上線,

6. 未來展望

云原生接入引擎

云原生時代已經來臨,我們相信在可見的未來,就像TCP/IP協議堆疊或者SDN一樣,接入引擎一定會抽象出更通用的應用層流量管理和服務治理能力,作為sidecar下沉并固化在整個基礎設施中,在屏蔽滴滴異構架構、異構技術堆疊、多語言、多協議業務特點進行規模化服務治理和將業務邏輯和基礎施設解耦中發揮重大作用,

多模微服務治理

由于多BU、歷史包袱、業務技術堆疊傾向的特點,未來的應用架構必然不可避免異構化,即便如此,接入引擎mesh化也不是銀彈,它在很長時間內會需要和傳統基于SDK的服務治理和基于集中式接入平臺的服務治理形成合力、組合補位,以一套組合拳的方式共同保障滴滴全平臺的穩定性,提升運維/研發/測驗的效能,

一站式七層接入平臺

從用戶角度看,七層接入平臺目前的定位仍然是一個專家系統,服務的用戶主要是有著豐富運維經驗的SRE,不管是接入引擎例行變更需求、問題分析定位還是服務治理能力賦能,業務RD更多情況下仍然需要尋求SRE的支持和幫助,這帶來大量的溝通成本,進一步降低了整體業務交付效率,我們期望打造一個體驗友好的一站式七層接入平臺,業務RD和SRE都可以自助在平臺上完成所有接入引擎相關作業,提高研發和運維的生產力,

團隊介紹

滴滴云平臺事業群服務中間件團隊負責為公司提供統一的七層流量接入和服務治理基礎設施,經過多年的技術沉淀,團隊在微服務框架、云原生服務治理、網路協議、訪問質量、負載均衡、代理技術等領域積累了豐富的經驗,我們一直致力于構建穩定、高效、易用、通用的流量接入和服務治理平臺,相關產品和平臺在滴滴均有大規模的實踐應用和落地,

作者介紹

滴滴服務中間件團隊負責人,多年高并發、高吞吐系統設計研發經歷,在微服務治理和穩定性建設領域有較豐富的經驗,對云原生技術感興趣,曾就職于百度,從事統一接入系統研發和運維作業,

延伸閱讀

內容編輯 | Teeo
聯系我們 | [email protected]

滴滴技術 出品

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/1094.html

標籤:大數據

上一篇:Spark內部如何保證每個application中只存在一個SparkContext?

下一篇:滴滴云平臺事業群——就是穩!

標籤雲
其他(157675) Python(38076) JavaScript(25376) Java(17977) C(15215) 區塊鏈(8255) C#(7972) AI(7469) 爪哇(7425) MySQL(7132) html(6777) 基礎類(6313) sql(6102) 熊猫(6058) PHP(5869) 数组(5741) R(5409) Linux(5327) 反应(5209) 腳本語言(PerlPython)(5129) 非技術區(4971) Android(4554) 数据框(4311) css(4259) 节点.js(4032) C語言(3288) json(3245) 列表(3129) 扑(3119) C++語言(3117) 安卓(2998) 打字稿(2995) VBA(2789) Java相關(2746) 疑難問題(2699) 细绳(2522) 單片機工控(2479) iOS(2429) ASP.NET(2402) MongoDB(2323) 麻木的(2285) 正则表达式(2254) 字典(2211) 循环(2198) 迅速(2185) 擅长(2169) 镖(2155) 功能(1967) .NET技术(1958) Web開發(1951) python-3.x(1918) HtmlCss(1915) 弹簧靴(1913) C++(1909) xml(1889) PostgreSQL(1872) .NETCore(1853) 谷歌表格(1846) Unity3D(1843) for循环(1842)

熱門瀏覽
  • GPU虛擬機創建時間深度優化

    **?桔妹導讀:**GPU虛擬機實體創建速度慢是公有云面臨的普遍問題,由于通常情況下創建虛擬機屬于低頻操作而未引起業界的重視,實際生產中還是存在對GPU實體創建時間有苛刻要求的業務場景。本文將介紹滴滴云在解決該問題時的思路、方法、并展示最終的優化成果。 從公有云服務商那里購買過虛擬主機的資深用戶,一 ......

    uj5u.com 2020-09-10 06:09:13 more
  • 可編程網卡芯片在滴滴云網路的應用實踐

    **?桔妹導讀:**隨著云規模不斷擴大以及業務層面對延遲、帶寬的要求越來越高,采用DPDK 加速網路報文處理的方式在橫向縱向擴展都出現了局限性。可編程芯片成為業界熱點。本文主要講述了可編程網卡芯片在滴滴云網路中的應用實踐,遇到的問題、帶來的收益以及開源社區貢獻。 #1. 資料中心面臨的問題 隨著滴滴 ......

    uj5u.com 2020-09-10 06:10:21 more
  • 滴滴資料通道服務演進之路

    **?桔妹導讀:**滴滴資料通道引擎承載著全公司的資料同步,為下游實時和離線場景提供了必不可少的源資料。隨著任務量的不斷增加,資料通道的整體架構也隨之發生改變。本文介紹了滴滴資料通道的發展歷程,遇到的問題以及今后的規劃。 #1. 背景 資料,對于任何一家互聯網公司來說都是非常重要的資產,公司的大資料 ......

    uj5u.com 2020-09-10 06:11:05 more
  • 滴滴AI Labs斬獲國際機器翻譯大賽中譯英方向世界第三

    **桔妹導讀:**深耕人工智能領域,致力于探索AI讓出行更美好的滴滴AI Labs再次斬獲國際大獎,這次獲獎的專案是什么呢?一起來看看詳細報道吧! 近日,由國際計算語言學協會ACL(The Association for Computational Linguistics)舉辦的世界最具影響力的機器 ......

    uj5u.com 2020-09-10 06:11:29 more
  • MPP (Massively Parallel Processing)大規模并行處理

    1、什么是mpp? MPP (Massively Parallel Processing),即大規模并行處理,在資料庫非共享集群中,每個節點都有獨立的磁盤存盤系統和記憶體系統,業務資料根據資料庫模型和應用特點劃分到各個節點上,每臺資料節點通過專用網路或者商業通用網路互相連接,彼此協同計算,作為整體提供 ......

    uj5u.com 2020-09-10 06:11:41 more
  • 滴滴資料倉庫指標體系建設實踐

    **桔妹導讀:**指標體系是什么?如何使用OSM模型和AARRR模型搭建指標體系?如何統一流程、規范化、工具化管理指標體系?本文會對建設的方法論結合滴滴資料指標體系建設實踐進行解答分析。 #1. 什么是指標體系 ##1.1 指標體系定義 指標體系是將零散單點的具有相互聯系的指標,系統化的組織起來,通 ......

    uj5u.com 2020-09-10 06:12:52 more
  • 單表千萬行資料庫 LIKE 搜索優化手記

    我們經常在資料庫中使用 LIKE 運算子來完成對資料的模糊搜索,LIKE 運算子用于在 WHERE 子句中搜索列中的指定模式。 如果需要查找客戶表中所有姓氏是“張”的資料,可以使用下面的 SQL 陳述句: SELECT * FROM Customer WHERE Name LIKE '張%' 如果需要 ......

    uj5u.com 2020-09-10 06:13:25 more
  • 滴滴Ceph分布式存盤系統優化之鎖優化

    **桔妹導讀:**Ceph是國際知名的開源分布式存盤系統,在工業界和學術界都有著重要的影響。Ceph的架構和演算法設計發表在國際系統領域頂級會議OSDI、SOSP、SC等上。Ceph社區得到Red Hat、SUSE、Intel等大公司的大力支持。Ceph是國際云計算領域應用最廣泛的開源分布式存盤系統, ......

    uj5u.com 2020-09-10 06:14:51 more
  • es~通過ElasticsearchTemplate進行聚合~嵌套聚合

    之前寫過《es~通過ElasticsearchTemplate進行聚合操作》的文章,這一次主要寫一個嵌套的聚合,例如先對sex集合,再對desc聚合,最后再對age求和,共三層嵌套。 Aggregations的部分特性類似于SQL語言中的group by,avg,sum等函式,Aggregation ......

    uj5u.com 2020-09-10 06:14:59 more
  • 爬蟲日志監控 -- Elastc Stack(ELK)部署

    傻瓜式部署,只需替換IP與用戶 導讀: 現ELK四大組件分別為:Elasticsearch(核心)、logstash(處理)、filebeat(采集)、kibana(可視化) 下載均在https://www.elastic.co/cn/downloads/下tar包,各組件版本最好一致,配合fdm會 ......

    uj5u.com 2020-09-10 06:15:05 more
最新发布
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:33:24 more
  • MySQL中binlog備份腳本分享

    關于MySQL的二進制日志(binlog),我們都知道二進制日志(binlog)非常重要,尤其當你需要point to point災難恢復的時侯,所以我們要對其進行備份。關于二進制日志(binlog)的備份,可以基于flush logs方式先切換binlog,然后拷貝&壓縮到到遠程服務器或本地服務器 ......

    uj5u.com 2023-04-20 08:28:06 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:27:27 more
  • 快取與資料庫雙寫一致性幾種策略分析

    本文將對幾種快取與資料庫保證資料一致性的使用方式進行分析。為保證高并發性能,以下分析場景不考慮執行的原子性及加鎖等強一致性要求的場景,僅追求最終一致性。 ......

    uj5u.com 2023-04-20 08:26:48 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:26:35 more
  • 云時代,MySQL到ClickHouse資料同步產品對比推薦

    ClickHouse 在執行分析查詢時的速度優勢很好的彌補了MySQL的不足,但是對于很多開發者和DBA來說,如何將MySQL穩定、高效、簡單的同步到 ClickHouse 卻很困難。本文對比了 NineData、MaterializeMySQL(ClickHouse自帶)、Bifrost 三款產品... ......

    uj5u.com 2023-04-20 08:26:29 more
  • sql陳述句優化

    問題查找及措施 問題查找 需要找到具體的代碼,對其進行一對一優化,而非一直把關注點放在服務器和sql平臺 降低簡化每個事務中處理的問題,盡量不要讓一個事務拖太長的時間 例如檔案上傳時,應將檔案上傳這一步放在事務外面 微軟建議 4.啟動sql定時執行計劃 怎么啟動sqlserver代理服務-百度經驗 ......

    uj5u.com 2023-04-20 08:25:13 more
  • Redis 報”OutOfDirectMemoryError“(堆外記憶體溢位)

    Redis 報錯“OutOfDirectMemoryError(堆外記憶體溢位) ”問題如下: 一、報錯資訊: 使用 Redis 的業務介面 ,產生 OutOfDirectMemoryError(堆外記憶體溢位),如圖: 格式化后的報錯資訊: { "timestamp": "2023-04-17 22: ......

    uj5u.com 2023-04-20 08:24:54 more
  • day02-2-商鋪查詢快取

    功能02-商鋪查詢快取 3.商鋪詳情快取查詢 3.1什么是快取? 快取就是資料交換的緩沖區(稱作Cache),是存盤資料的臨時地方,一般讀寫性能較高。 快取的作用: 降低后端負載 提高讀寫效率,降低回應時間 快取的成本: 資料一致性成本 代碼維護成本 運維成本 3.2需求說明 如下,當我們點擊商店詳 ......

    uj5u.com 2023-04-20 08:24:03 more
  • day02-短信登錄

    功能實作02 2.功能01-短信登錄 2.1基于Session實作登錄 2.1.1思路分析 2.1.2代碼實作 2.1.2.1發送短信驗證碼 發送短信驗證碼: 發送驗證碼的介面為:http://127.0.0.1:8080/api/user/code?phone=xxxxx<手機號> 請求方式:PO ......

    uj5u.com 2023-04-20 08:23:11 more