性能远超Spring Cloud Gateway!Apache ShenYu如何重新定义API网关!

Apache ShenYu

Apache ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。

特点

  • • 代理:支持Apache Dubbo,Spring Cloud,gRPC,Motan,SOFA,TARS,WebSocket,MQTT

  • • 安全性:签名,OAuth 2.0,JSON Web令牌,WAF插件

  • • API治理:请求、响应、参数映射、Hystrix、RateLimiter插件

  • • 可观测性:跟踪、指标、日志记录插件

  • • 仪表板:动态流量控制,用户菜单权限的可视化后端

  • • 扩展:插件热插拔,动态加载

  • • 集群:NGINX、Docker、Kubernetes

  • • 语言:提供.NET,Python,Go,Java客户端用于API注册

安装部署

支持本地部署、单机快速部署、二进制包部署、Docker-Compose部署、Docker部署、K8s部署、Helm部署、自定义部署、宝塔面板部署,下面以Docker部署为例进行实战:

拉取镜像
docker pull apache/shenyu-admin

图片

创建网络
 docker network create shenyu

图片

启动容器
docker run -d -p 9095:9095 --name shenyu-admin --net shenyu apache/shenyu-admin

图片

启动日志,默认用h2数据库。

图片

浏览器访问localhost:9095

默认账号: admin

默认密码: 123456

图片

登录成功后进入系统页面

图片

页面功能

插件列表

  • • Mock

  • • Cache

  • • Authentication

  • • FaultTolerance

  • • Ai

  • • HttpProcess

  • • Cryptor

  • • Common

  • • Proxy

  • • Logging

  • • MCP

  • 图片

基础配置

  • • 命名空间管理

  • • 插件元数据管理

  • • 插件管理

  • • 插件处理管理

  • • 认证管理

  • • 元数据管理

  • • 字典管理

  • 图片

系统管理

  • • 角色管理

  • • 用户管理

  • • 资源管理

  • • 告警管理

  • • 扩缩容管理

  • 图片

文档说明

  • • API文档

图片

通过详细使用请参考官方文档:

官方文档

https://shenyu.apache.org/zh/docs/index

开源地址

https://github.com/apache/shenyu

 

 系列文章索引

MyBatis的插件能在哪些地方进行拦截?

了解MyBatis的缓存机制吗

面试官:谈谈对volatile的理解

Spring中用到了哪些设计模式

面试官:说一下SQL的执行过程

线程池的工作原理


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/pingmian/89340.shtml
繁体地址,请注明出处:http://hk.pswp.cn/pingmian/89340.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

质变科技亮相可信数据库发展大会,参编《数据库发展研究报告2025》

数据库作为支撑数据存储与计算的关键载体,在数据要素时代的重要性愈发凸显。过去一年,全球数据库新技术、新业态、新模式不断涌现;我国数据库应用创新于重点行业快速推进。随着人工智能技术深刻变革,数据库与AI融合趋势愈发明显。…

LVS(Linux Virtual Server)详细笔记(理论篇)

一.详解1. LVS概述LVS(Linux Virtual Server)是由章文嵩博士发起的开源负载均衡项目,通过在Linux内核中实现高性能四层交换能力,将多台物理服务器组织成单一虚拟服务。它能够处理百万级并发连接,同时保持线性扩展能力&…

Oracle Data Pump 导入冲突解决

问题场景 使用 impdp 导入数据时遇到"对象已存在"错误,导致导入失败。 核心解决方案 1. TABLE_EXISTS_ACTION 参数 impdp username/passworddatabase \ directoryDATA_PUMP_DIR \ dumpfileyour_dump_file.dmp \ TABLE_EXISTS_ACTIONREPLACE作用&#xff1…

汽车免拆诊断案例 | 2015款进口起亚索兰托L车漏电

故障现象 一辆2015款进口起亚索兰托L车,搭载D4HB发动机,累计行驶里程约为15万km。车主反映,该车停放2天左右就因蓄电池亏电而无法起动,更换过蓄电池,但故障依旧,于是将车开至我厂检修。故障诊断 接车后用…

mysql复制延迟如何处理

一、复制延迟的原因主库增删改并发大大表在做DDL从库备份导致延迟大事务从库机器配置差二、怎样判断延迟使用 SHOW SLAVE STATUS 命令Seconds_Behind_Master:表示从库落后主库的秒数(若为 NULL,可能复制线程已停止)对比位点字段名…

HertzBeat 监控 SpringBoot 使用案例

HertzBeat 监控 SpringBoot 使用案例 在云原生时代,Spring Boot应用的监控与可视化已然成为运维体系的核心环节,实时监控应用性能是保障系统稳定性的关键。 这篇文章将结合 HertzBeat 实现从指标采集、可视化到告警的一体化解决方案,并展示…

突破性量子芯片问世:电子与光子首次集成,开启量子技术规模化应用新篇章

文丨浪味仙 排版丨浪味仙行业动向:3000字丨8分钟阅读内容提要在量子技术迈向规模化应用的征程中,研究人员迎来了重要突破。近日,波士顿大学、加州大学伯克利分校以及西北大学的科学家在《Nature Electronics》上发表论文,报告实现…

day30——零基础学嵌入式之线程2.0

一、进程和线程的对比线程进程定义轻量级的进程。是进程中的执行单元,作为CPU调度的基本单位进程时程序的一次执行过程,作为CPU的资源分配的基本单位优势创建以及切换速度块-----效率高线程(线程共享了进程的资源)间共享资源方便创…

洛谷 P1395 会议

【题目链接】 洛谷 P1395 会议 【题目考点】 1. 树形动规:树的重心 本题为求树的重心模板题 【解题思路】 树的重心:相比于树中其它结点,其所有的子树中结点数最多的子树的结点数最少,该结点就是这棵树的重心。 另一种定义&…

Microsoft 365 Adoption Score功能深度解析:驱动企业数字化转型的利器

在数字化转型的浪潮中,Microsoft 365(原Office 365)凭借其强大的生产力工具和云服务生态,已成为全球企业和组织提升效率、协作和创新的核心平台。然而,仅仅部署Microsoft 365并不足以充分发挥其潜力,关键在于如何推动员工高效采用这些工具,并将其融入日常工作流程。为此…

尺寸标注识别5 实例分割 roboflow | result.boxes获取边界框 | yolov8n-seg架构 torchinfo | 对直线关系不敏感

https://gitee.com/njsgcs/yolo-local 单标注一个尺寸线 100轮就百分百了 Sign in to Roboflow 有混起来的问题 roboflow训练用的cocon-seg模型我网上找不到 上面这种比较麻烦 text的中心要在dt范围内 屏幕点以下等同于按下save(enter) 取最长线段作…

敏捷开发卡在需求分析?飞算 JavaAI 加速需求确认与功能迭代

在敏捷开发中,需求分析常成为团队推进的 “卡点”—— 模糊的需求描述、反复的需求变更、拆解落地难等问题,往往导致迭代周期延长。而飞算 JavaAI 作为专为 Java 开发设计的工具,正通过 “需求理解 - 接口设计 - 代码生成” 的全流程智能化&a…

QT跨平台应用程序开发框架(10)—— Qt窗口

目录 一,关于窗口 二,菜单栏 2.1 菜单介绍 2.2 添加菜单 2.3 添加快捷键 2.4 添加其子菜单 2.5 添加分割线和图标 三,工具栏 3.1 添加和使用工具栏 3.2 设置位置属性 四,状态栏 五,浮动窗口 六,对话框 6.1 …

git从本地仓库添加到远程仓库

先创建,然后配置 Git 的全局用户名和邮箱git config --global user.name "不吃糖o" git config --global user.email "1523944556qq.com" git config --global -l 查看设置的用户名和邮箱如何生成SSH公钥?ssh-keygen 生成sshkeyls ~…

锁步核,为什么叫锁步核?

“锁步核”(Lockstep Cores)这一名称源于其工作原理与军事队列行进中的“锁步”(Lockstep)动作的类比。以下是详细的说明整理:1. 军事起源:什么是“锁步”? 在传统军事训练中,“锁步…

python学智能算法(二十二)|SVM-点与超平面的距离

引言 前序学习进程中,了解了向量、向量点积运算、超平面、感知机等知识点。 SVM算法最核心的目标是通过规划租号的分割超平面,来使得超平面附近的点到超平面的距离和达到最大值。 那点和超平面的距离如何计算,就是今天学习的重点。 点与超平…

参会邀请!2025世界人工智能大会合合信息技术交流日报名启动!

2025世界人工智能大会即将开幕,合合信息邀请您一起参与KOL深度技术交流活动。本次活动不仅可以带您逛展2025世界人工智能大会,在合合信息展台体验AI黑科技,还可以与行业顶尖技术专家面对面交流,共同探讨当下热门AI安全话题。 详细…

零基础入门:用C++从零实现TCP Socket网络小工具

个人主页:chian-ocean 文章专栏-Linux 前言: 网络编程中的套接字(Socket)是通信的基本接口,允许不同计算机之间通过网络交换数据。套接字是计算机网络中通信的“端点”,通过它,应用程序可以与…

SOES:软实现EtherCAT从站协议栈项目介绍及从站开发案例

在现代工业自动化领域,EtherCAT(Ethernet for Control Automation Technology)以其高速、实时和开放的特性,成为现场总线通信的主流协议之一。EtherCAT网络中,主站(Master)负责调度和管理&#…

[simdjson] 填充字符串 | `document` 对象 | on-demand 模式

第二章:填充字符串 在第一章解析器中,我们学习了simdjson::dom::parser和simdjson::ondemand::parser作为可复用内存的JSON解析工具。 本章将深入解析JSON数据输入的核心要求——“填充字符串”。 为何需要填充? simdjson通过SIMD&#x…