写在前面(ShenYu)

初衷

最近公司在做项目重构,将现有的单体应用要转变为微服务架构,那大家知道的微服务架构前置网关是非常重要的,所以此栏目会就网关进行展开介绍。

为什么要使用网关

在现代应用程序架构中,微服务和云计算的兴起导致了应用程序的复杂性增加,服务之间的通信变得更加复杂。因此,需要一种工具来处理流量路由、身份验证、授权、限流、负载均衡等任务,同时提供安全性和可扩展性。这就是网关的作用,它是一个中间层,位于客户端和后端服务之间,用于管理和控制请求和响应。

网关选型,为什么是ShenYu

首先我们在市面上见到的网关很多,最常见的使用最多的应该是Spring Cloud GateWay ,还有kongzuul等等网关。网上现在有很多网关之间对比介绍,我这里就不赘述了。下面我列举一下为什么要选择ShenYu。

性能

​ 根据众多大佬的测试,ShenyuSpringcloudGateWay的性能差距很小,甚至可能ShenYu的性能更优,这个是听说,本人没有实际测试哈。

插件化

​ 这个也是ShenYu的一个特色,ShenYu有很多插件化组件,而且是插拔式的,即插即用。而且还可以自己拓展插件,自定义插件。

二次开发

​ 因为是完全开源项目,所以二次开发起来很容易,代码写的非常清晰,而且注释也是非常好的,加上我们团队也是java开发。

可视化界面

ShenYu有一个独立的admin后台,对于维护来说可是非常的友好的。当然这个有利也有弊,需要单独部署服务。

支持dubbo

​ 由于我们的微服务架构是ShenYu+ dubbo3ShenYu是支持dubbo的。

安全性和认证

​ ShenYu提供了强大的安全性功能,包括身份验证和授权机制,您可以使用它来确保只有授权用户可以访问您的服务。这对于保护敏感数据和应用程序至关重要。

社区支持

​ ShenYu拥有一个活跃的社区,这意味着您可以获得及时的支持、问题解答和更新。这对于确保您的网关保持最新和安全非常重要。

与市面其他网关进行对比

ShenYu vs. Spring Cloud Gateway

ShenYu优势
  • 多协议支持: ShenYu支持多种协议,包括HTTP、gRPC等,使其适用于不同类型的应用程序。

  • 开源性质: ShenYu是一个开源项目,没有许可费用,可以根据需要自由定制。

  • 流量管理: ShenYu提供了广泛的流量管理功能,包括请求路由、限流、负载均衡等,以提高性能和可伸缩性。

  • 安全性和认证: ShenYu提供了强大的安全性功能,有助于保护应用程序和数据。

  • 活跃的社区支持: ShenYu拥有活跃的社区,提供及时的支持和更新。

Spring Cloud Gateway优势
  • Spring生态系统: Spring Cloud Gateway是Spring生态系统的一部分,与其他Spring组件(如Spring Boot和Spring Cloud)紧密集成,使其在Spring项目中易于使用。
  • 过滤器链: 它采用了过滤器链的概念,允许开发人员编写自定义过滤器以处理请求和响应。
  • 集成性: 与Spring Cloud一起使用时,可以轻松集成服务发现、负载均衡等功能。
对比
  • ShenYu和Spring Cloud Gateway都是开源项目,但ShenYu更专注于微服务架构。
  • Spring Cloud Gateway在Spring生态系统中更容易集成,对于已经使用Spring的团队可能更具吸引力。
  • ShenYu的多协议支持可能对某些项目更有吸引力,尤其是涉及到gRPC等非HTTP协议的情况。

ShenYu vs. Apache APISIX

ShenYu优势
  • 多协议支持: ShenYu支持多种协议,适用于不同类型的应用程序。
  • 开源性质: ShenYu是一个开源项目,没有许可费用,可以根据需要自由定制。
  • 流量管理: ShenYu提供了广泛的流量管理功能,包括请求路由、限流、负载均衡等,以提高性能和可伸缩性。
  • 安全性和认证: ShenYu提供了强大的安全性功能,有助于保护应用程序和数据。
  • 活跃的社区支持: ShenYu拥有活跃的社区,提供及时的支持和更新。
Apache APISIX优势
  • 高性能: APISIX以高性能著称,特别适用于需要处理大量请求的场景。
  • 可扩展性: 它具有灵活的插件系统,允许用户自定义功能和行为。
  • 实时监控: APISIX提供了实时监控和仪表板,帮助管理员了解网关的性能和运行状况。
对比
  • ShenYu和Apache APISIX都是开源的高性能API网关。
  • APISIX在处理大量请求时具有出色的性能和低延迟。
  • ShenYu更注重多协议支持和微服务架构,适用于不同的使用情境。

分享

下面会分享我们实际项目中使用到的网关的相关功能,以及会分享一些对于ShenYu的一些改造,以及对于ShenYu的一些源码分析和使用到的每个插件的一些源码分析,如果有分析的不对的,或者大家有更好的见解,欢迎大家指导。

shenyu网关是一款开源的API网关软件,它可以帮助开发者实现对接口的统一管理和流量控制。shenyu网关提供了多种功能,包括请求转发、请求过滤、流量限制、负载均衡等,帮助用户实现高可用和高稳定性的系统架构。 shenyu网关基于Java开发,使用简单方便,支持多种开源框架和中间件,如Spring Boot、Dubbo、Motan等。通过使用shenyu网关,开发者可以快速搭建起一个完善的微服务架构,可以轻松地管理和监控各个微服务之间的通信和流量。 另外,shenyu网关还提供了可视化的管理界面,方便用户进行参数配置、资源管理、性能监控等操作。用户可以通过该界面对各个服务进行细粒度的管理,实现功能的灵活配置和动态调整。 码云是中国最大的代码托管平台,类似于国外的GitHub。用户可以通过码云托管自己的代码仓库,并利用这个平台进行团队协作和项目管理。码云提供了Git版本控制、代码托管、代码审查等功能,支持多种开发语言和开发工具。 与GitHub不同的是,码云在国内具有更好的访问速度和稳定性,同时还提供了国内常用的Git代码托管服务,支持国内的开发者更方便地使用和访问。用户可以在码云上创建自己的项目仓库,与其他开发者进行交流学习,并共同进行开发和维护。 综上所述,shenyu网关和码云都是开发者常用的工具。shenyu网关可以帮助开发者实现API网关的功能,提供统一的接口管理和流量控制;码云则是代码托管平台,提供代码的版本控制和团队协作功能。两者的结合可以帮助开发者更好地进行微服务架构的开发和管理。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

简单简单小白

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值