资讯专栏INFORMATION COLUMN

微服务网关方案调研

Y3G / 2997人阅读

摘要:综述经调研,使用解决方案的占多数,已经能满足绝大多数公司需求。但除了一些超级公司外,比如阿里,京东,他们是自己撸的一套网关。

综述

经调研,使用Spring Cloud Zuul解决方案的占多数,已经能满足绝大多数公司需求。但除了一些超级公司外,比如阿里,京东,他们是自己撸的一套网关。此外,点评直接采用的nginx负载均衡前置网关,而没用第七层网关,原因据说是七层网关会影响性能,但由于对其架构不甚了解,所以也不得而知。

一 各企业网关调研 1 京东: tomcat sevelet ,基于netty自研

京东商API网关实践

目前大部分服务位于tomcat,但由于tomcat只能同步,所以正在向netty一步步迁移

2 苏宁: netty

3 点融:基于zuul定制

基于框架:https://github.com/venus-boot...,saluki is a microservice framework rely on grpc-java,可能是结合Spring cloud的东西做了一些定制化开发,加入比如rpc的一些东西。

saluki gateway是以zuul、saluki、oauth2为基础构建的网关系统,主要功能如下

api限流,利用令牌桶机制进行限流操作

授权,oauth2进行api的授权

协议转化,将http的请求转化为grpc的服务请求

saluki框架在Spring Cloud基础上进行了进一步封装,提供了对rpc的支持、用户权限等等

4 美团点评

貌似没有第七层网关,只有nginx+lua,基于tengine定制

咨询过美团的童鞋,他说网关会增加机器负担,而且有可能成为系统瓶颈。因此将统一的鉴权、日志都打成统一的jar包,让各个微服务自己去做,但具体系统的具体结构不得而知,可能存在一定的合理性,对于日活上亿体量的系统,或许网关确实有可能成为瓶颈,因为加入统一网关意味着机器数量增加一倍,

5 携程:zuul

基于zuul的一套API网关,

6 megaease

还有megaease这家公司,是IT骨灰级程序员兼网红陈皓所创建,他认为一个好的gateway需要具备如下关键技术

高性能。必须使用高性能的技术,而且需要高性能的语言(比如他所推崇的go)

抗流量。集群技术

业务逻辑。要能够支持简单的业务逻辑

服务化。可以不停机的修改管理配置

所以,他们自己用go开发了一套easegateway
产品说明:http://megaease.com/docs/gate...

其架构说明图如下

二 常用网关方案

网关(API Gateway)技术选型

zuul

kong

nginx+lua(nginx+openresty )

自己撸:难度大

网关(API Gateway)的设计要素

限流:实现微服务访问流量计算,基于流量计算分析进行限流,可以定义多种限流规则。

缓存:数据缓存。

日志:日志记录。

监控:记录请求响应数据,api耗时分析,性能监控。

鉴权:权限身份认证。

灰度:线上灰度部署,可以减小风险。

路由:路由是API网关很核心的模块功能,此模块实现根据请求,锁定目标微服务并将请求进行转发。

三 基于Zuul的网关设计

Spring Cloud生态中,标准配置是基于Zuul的网关,而且,已经有多加大型互联网公司是基于Zuul来实现,比如携程、点融,所以,我们不妨用Zuul网关来首先搭建网关,已经能满足大部分企业的需求了

四 探索,阿里无线: ACCS网关方案

阿里粑粑当然财大气粗,自己撸一个呗


在线集群用于实时消息,而离线集群用于诸如营销信息推广等允许很高延时等的的请求


以及两个优化点

用ECDH机密代替RSA。带来加密效率的巨大提升,以及SPDY协议

用类似tcp-fast-open的技术,在握手时直接带数据包

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/68238.html

相关文章

  • Dubbo Cloud Native 之路的实践与思考

    摘要:可简单地认为它是的扩展,负载均衡自然成为不可或缺的特性。是基于开发的服务代理组件,在使用场景中,它与和整合,打造具备服务动态更新和负载均衡能力的服务网关。类似的特性在项目也有体现,它是另一种高性能代理的方案,提供服务发现健康和负载均衡。 摘要: Cloud Native 应用架构随着云技术的发展受到业界特别重视和关注,尤其是 CNCF(Cloud Native Computing Fo...

    niceforbear 评论0 收藏0
  • 个推服务网关架构实践

    摘要:一方面,网关是个推微服务体系对外的唯一入口另一方面,网关中实现了很多后端服务的共性需求,避免了重复建设。个推微服务网关的设计与实现个推微服务主要是基于和进行实践的。下图是个推微服务体系的架构图。 作者:个推应用平台基础架构高级研发工程师 阿飞 在微服务架构中,不同的微服务可以有不同的网络地址,各个微服务之间通过互相调用完成用户请求,客户端可能通过调用N个微服务的接口完成一个用户请求。因...

    MockingBird 评论0 收藏0
  • 从应用到平台 - 云服务架构的演进过程

    摘要:应用的研发上线运维运营形成闭环,顺利完成从对内服务到公共平台的升级。从功能角度,只能支持静态方式设置反向代理,然后,而平台有服务对应的后端服务和端口是有动态调整需求。架构上是基础组件需要进行升级,数据访问层日志监控系统等。 介绍        MaxLeap早期是一家研发、运营移动应用和手机游戏公司,发展过程中积累了很多通用组件。这些组件很大程度帮公司在移动研发过程中节省了时间和成本,...

    LiangJ 评论0 收藏0
  • 企业对API网关怎么应用与选择

    摘要:而当企业只是将系统与系统之间的调用使用的方式进行访问时使用网关对调用进行管理,那么网关起到的就是服务治理的作用。另外很多企业因为自身信息安全的原因,不能使用外网公有网的网关服务,这样就只有选择私有云的方案了。 showImg(https://segmentfault.com/img/bVbsVBA?w=255&h=255); 前言 「 API网关 」是任何微服务架构的重要组成部分。有了...

    wuaiqiu 评论0 收藏0
  • Dubbo Cloud Native 实践与思考

    摘要:可简单地认为它是的扩展,负载均衡自然成为不可或缺的特性。类似的特性在项目也有体现,它是另一种高性能代理的方案,提供服务发现健康和负载均衡。 Dubbo Cloud Native 实践与思考 分享简介 Cloud Native 应用架构随着云技术的发展受到业界特别重视和关注,尤其是 CNCF(Cloud Native Computing Foundation)项目蓬勃发展之际。Dubbo...

    邱勇 评论0 收藏0

发表评论

0条评论

Y3G

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<