摘要:綜述經(jīng)調(diào)研,使用解決方案的占多數(shù),已經(jīng)能滿足絕大多數(shù)公司需求。但除了一些超級公司外,比如阿里,京東,他們是自己擼的一套網(wǎng)關(guān)。
綜述
經(jīng)調(diào)研,使用Spring Cloud Zuul解決方案的占多數(shù),已經(jīng)能滿足絕大多數(shù)公司需求。但除了一些超級公司外,比如阿里,京東,他們是自己擼的一套網(wǎng)關(guān)。此外,點評直接采用的nginx負載均衡前置網(wǎng)關(guān),而沒用第七層網(wǎng)關(guān),原因據(jù)說是七層網(wǎng)關(guān)會影響性能,但由于對其架構(gòu)不甚了解,所以也不得而知。
一 各企業(yè)網(wǎng)關(guān)調(diào)研 1 京東: tomcat sevelet ,基于netty自研京東商API網(wǎng)關(guān)實踐
目前大部分服務位于tomcat,但由于tomcat只能同步,所以正在向netty一步步遷移
2 蘇寧: netty 3 點融:基于zuul定制基于框架:https://github.com/venus-boot...,saluki is a microservice framework rely on grpc-java,可能是結(jié)合Spring cloud的東西做了一些定制化開發(fā),加入比如rpc的一些東西。
saluki gateway是以zuul、saluki、oauth2為基礎構(gòu)建的網(wǎng)關(guān)系統(tǒng),主要功能如下
api限流,利用令牌桶機制進行限流操作
授權(quán),oauth2進行api的授權(quán)
協(xié)議轉(zhuǎn)化,將http的請求轉(zhuǎn)化為grpc的服務請求
saluki框架在Spring Cloud基礎上進行了進一步封裝,提供了對rpc的支持、用戶權(quán)限等等
4 美團點評貌似沒有第七層網(wǎng)關(guān),只有nginx+lua,基于tengine定制
咨詢過美團的童鞋,他說網(wǎng)關(guān)會增加機器負擔,而且有可能成為系統(tǒng)瓶頸。因此將統(tǒng)一的鑒權(quán)、日志都打成統(tǒng)一的jar包,讓各個微服務自己去做,但具體系統(tǒng)的具體結(jié)構(gòu)不得而知,可能存在一定的合理性,對于日活上億體量的系統(tǒng),或許網(wǎng)關(guān)確實有可能成為瓶頸,因為加入統(tǒng)一網(wǎng)關(guān)意味著機器數(shù)量增加一倍,
5 攜程:zuul基于zuul的一套API網(wǎng)關(guān),
還有megaease這家公司,是IT骨灰級程序員兼網(wǎng)紅陳皓所創(chuàng)建,他認為一個好的gateway需要具備如下關(guān)鍵技術(shù)
高性能。必須使用高性能的技術(shù),而且需要高性能的語言(比如他所推崇的go)
抗流量。集群技術(shù)
業(yè)務邏輯。要能夠支持簡單的業(yè)務邏輯
服務化??梢圆煌C的修改管理配置
所以,他們自己用go開發(fā)了一套easegateway
產(chǎn)品說明:http://megaease.com/docs/gate...
其架構(gòu)說明圖如下
網(wǎng)關(guān)(API Gateway)技術(shù)選型
zuul
kong
nginx+lua(nginx+openresty )
自己擼:難度大
網(wǎng)關(guān)(API Gateway)的設計要素
限流:實現(xiàn)微服務訪問流量計算,基于流量計算分析進行限流,可以定義多種限流規(guī)則。
緩存:數(shù)據(jù)緩存。
日志:日志記錄。
監(jiān)控:記錄請求響應數(shù)據(jù),api耗時分析,性能監(jiān)控。
鑒權(quán):權(quán)限身份認證。
灰度:線上灰度部署,可以減小風險。
路由:路由是API網(wǎng)關(guān)很核心的模塊功能,此模塊實現(xiàn)根據(jù)請求,鎖定目標微服務并將請求進行轉(zhuǎn)發(fā)。
三 基于Zuul的網(wǎng)關(guān)設計Spring Cloud生態(tài)中,標準配置是基于Zuul的網(wǎng)關(guān),而且,已經(jīng)有多加大型互聯(lián)網(wǎng)公司是基于Zuul來實現(xiàn),比如攜程、點融,所以,我們不妨用Zuul網(wǎng)關(guān)來首先搭建網(wǎng)關(guān),已經(jīng)能滿足大部分企業(yè)的需求了
四 探索,阿里無線: ACCS網(wǎng)關(guān)方案阿里粑粑當然財大氣粗,自己擼一個唄
在線集群用于實時消息,而離線集群用于諸如營銷信息推廣等允許很高延時等的的請求
以及兩個優(yōu)化點
用ECDH機密代替RSA。帶來加密效率的巨大提升,以及SPDY協(xié)議
用類似tcp-fast-open的技術(shù),在握手時直接帶數(shù)據(jù)包
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/68238.html
摘要:可簡單地認為它是的擴展,負載均衡自然成為不可或缺的特性。是基于開發(fā)的服務代理組件,在使用場景中,它與和整合,打造具備服務動態(tài)更新和負載均衡能力的服務網(wǎng)關(guān)。類似的特性在項目也有體現(xiàn),它是另一種高性能代理的方案,提供服務發(fā)現(xiàn)健康和負載均衡。 摘要: Cloud Native 應用架構(gòu)隨著云技術(shù)的發(fā)展受到業(yè)界特別重視和關(guān)注,尤其是 CNCF(Cloud Native Computing Fo...
摘要:一方面,網(wǎng)關(guān)是個推微服務體系對外的唯一入口另一方面,網(wǎng)關(guān)中實現(xiàn)了很多后端服務的共性需求,避免了重復建設。個推微服務網(wǎng)關(guān)的設計與實現(xiàn)個推微服務主要是基于和進行實踐的。下圖是個推微服務體系的架構(gòu)圖。 作者:個推應用平臺基礎架構(gòu)高級研發(fā)工程師 阿飛 在微服務架構(gòu)中,不同的微服務可以有不同的網(wǎng)絡地址,各個微服務之間通過互相調(diào)用完成用戶請求,客戶端可能通過調(diào)用N個微服務的接口完成一個用戶請求。因...
摘要:應用的研發(fā)上線運維運營形成閉環(huán),順利完成從對內(nèi)服務到公共平臺的升級。從功能角度,只能支持靜態(tài)方式設置反向代理,然后,而平臺有服務對應的后端服務和端口是有動態(tài)調(diào)整需求。架構(gòu)上是基礎組件需要進行升級,數(shù)據(jù)訪問層日志監(jiān)控系統(tǒng)等。 介紹 ? ? ? ?MaxLeap早期是一家研發(fā)、運營移動應用和手機游戲公司,發(fā)展過程中積累了很多通用組件。這些組件很大程度幫公司在移動研發(fā)過程中節(jié)省了時間和成本,...
摘要:而當企業(yè)只是將系統(tǒng)與系統(tǒng)之間的調(diào)用使用的方式進行訪問時使用網(wǎng)關(guān)對調(diào)用進行管理,那么網(wǎng)關(guān)起到的就是服務治理的作用。另外很多企業(yè)因為自身信息安全的原因,不能使用外網(wǎng)公有網(wǎng)的網(wǎng)關(guān)服務,這樣就只有選擇私有云的方案了。 showImg(https://segmentfault.com/img/bVbsVBA?w=255&h=255); 前言 「 API網(wǎng)關(guān) 」是任何微服務架構(gòu)的重要組成部分。有了...
摘要:可簡單地認為它是的擴展,負載均衡自然成為不可或缺的特性。類似的特性在項目也有體現(xiàn),它是另一種高性能代理的方案,提供服務發(fā)現(xiàn)健康和負載均衡。 Dubbo Cloud Native 實踐與思考 分享簡介 Cloud Native 應用架構(gòu)隨著云技術(shù)的發(fā)展受到業(yè)界特別重視和關(guān)注,尤其是 CNCF(Cloud Native Computing Foundation)項目蓬勃發(fā)展之際。Dubbo...
閱讀 2727·2021-10-12 10:12
閱讀 2345·2021-09-02 15:41
閱讀 2577·2019-08-30 15:55
閱讀 1411·2019-08-30 13:05
閱讀 2447·2019-08-29 11:21
閱讀 3544·2019-08-28 17:53
閱讀 3037·2019-08-26 13:39
閱讀 811·2019-08-26 11:50