APIGateway設計的思路

簡述一下APIGateway的設計思路晃痴,準備從頭寫一個網(wǎng)關。

API網(wǎng)關的職能

  • 請求接入财忽,承接所有外部請求倘核。

  • 中介策略,承擔了外部請求和實際服務中間的功能即彪,比如:鑒權紧唱、驗簽、路由祖凫、流控琼蚯、緩存、黑白名單過濾等等惠况。

  • 業(yè)務聚合遭庶,所有后端業(yè)務服務都可以在這里聚合,通過某種方式將業(yè)務服務都聚集到這里稠屠。

  • 統(tǒng)一管理峦睡,提供管理工具、后臺服務等等权埠,可以對服務進行注冊榨了、修改以及各種配置。

API網(wǎng)關需要實現(xiàn)的功能

  • 流控攘蔽,控制流量龙屉,針對同一個ip在指定的時間段內(nèi)訪問次數(shù)做限制

  • 驗簽解密,校驗參數(shù)、驗證簽名信息转捕、將加密的信息解密

  • 接口驗證作岖,驗證接口是否存在、接口信息是否是當前調(diào)用者的接口

  • 接口權限驗證五芝,調(diào)用的ip是否在白名單內(nèi)

  • 業(yè)務參數(shù)驗證痘儡,校驗業(yè)務接口參數(shù)是否正確

  • 調(diào)用業(yè)務接口,可以使用dubbo泛化調(diào)用

  • 熔斷降級枢步,業(yè)務方接口不可用的時候或者業(yè)務方處理速度變慢沉删,考慮進行熔斷降級

  • 加密返回,將調(diào)用結果封裝醉途、加密矾瑰、返回

  • 管理控制臺,負責接口服務注冊隘擎、配置等

實現(xiàn)要點

  • 實現(xiàn)方式使用責任鏈模式脯倚,鏈中每個模塊負責一個功能

  • 本地緩存和分布式緩存配合,需要考慮本地緩存的更新嵌屎,可以使用zookeeper通知或者MQ通知

  • 異步處理請求推正,使用Jetty容器部署應用

  • 線程池隔離,請求接收宝惰、請求處理植榕、服務調(diào)用可以使用不同線程池進行隔離

  • 日志記錄,請求以及處理等日志記錄尼夺,方便問題查詢

  • 數(shù)據(jù)統(tǒng)計尊残,接口的調(diào)用信息統(tǒng)計,方便直觀查看接口調(diào)用情況

  • 報警監(jiān)控淤堵,針對異城奚溃或者其他錯誤選擇報警

源碼:https://github.com/dachengxi/APIGateway

原文鏈接:https://cxis.me/2020/04/06/APIGateway%E8%AE%BE%E8%AE%A1%E7%9A%84%E6%80%9D%E8%B7%AF/

參考

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拐邪,隨后出現(xiàn)的幾起案子慰毅,更是在濱河造成了極大的恐慌,老刑警劉巖扎阶,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件汹胃,死亡現(xiàn)場離奇詭異,居然都是意外死亡东臀,警方通過查閱死者的電腦和手機着饥,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來惰赋,“玉大人宰掉,你說我怎么就攤上這事。” “怎么了轨奄?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵仇穗,是天一觀的道長。 經(jīng)常有香客問我戚绕,道長,這世上最難降的妖魔是什么枝冀? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任舞丛,我火速辦了婚禮,結果婚禮上果漾,老公的妹妹穿的比我還像新娘球切。我一直安慰自己,他們只是感情好绒障,可當我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布吨凑。 她就那樣靜靜地躺著,像睡著了一般户辱。 火紅的嫁衣襯著肌膚如雪鸵钝。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天庐镐,我揣著相機與錄音恩商,去河邊找鬼。 笑死必逆,一個胖子當著我的面吹牛怠堪,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播名眉,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼粟矿,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了损拢?” 一聲冷哼從身側(cè)響起陌粹,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎福压,沒想到半個月后申屹,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡隧膏,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年哗讥,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片胞枕。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡杆煞,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情决乎,我是刑警寧澤队询,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布,位于F島的核電站构诚,受9級特大地震影響蚌斩,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜范嘱,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一送膳、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧丑蛤,春花似錦叠聋、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至棉饶,卻和暖如春厦章,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背照藻。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工闷袒, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人岩梳。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓囊骤,卻偏偏與公主長得像,于是被迫代替她去往敵國和親冀值。 傳聞我的和親對象是個殘疾皇子也物,可洞房花燭夜當晚...
    茶點故事閱讀 42,722評論 2 345