Linux Mac 安装Higress 平替 Spring Cloud Gateway
Linux Mac 安装Higress 平替 Spring Cloud Gateway
- Higress是什么?
- 传统网关分类
- Higress定位
- 下载安装包
- 执行安装命令
- 执行脚本
- 安装成功
- 打开管理界面
- 使用方法
- configure.sh
- reset.sh
- startup.sh
- shutdown.sh
- status.sh
- logs.sh
Higress官网
Higress是什么?
Higress是基于阿里内部的Envoy Gateway实践沉淀、以开源Istio + Envoy为核心构建的云原生API网关,实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力,深度集成Dubbo、Nacos、Sentinel等微服务技术栈,能够帮助用户极大的降低网关的部署及运维成本且能力不打折;在标准上全面支持Ingress与Gateway API,积极拥抱云原生下的标准API规范;同时,Higress Controller也支持Nginx Ingress平滑迁移,帮助用户零成本快速迁移到Higress。
传统网关分类
行业中通常把网关分为两个大类:流量网关与业务网关,流量网关主要提供全局性的、与后端业务无关的策略配置,例如阿里内部的的统一接入网关Tengine就是典型的流量网关;业务网关顾名思义主要提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关(图示说明如下)。在目前容器技术与K8s主导的云原生时代,下一代网关模式依然是这样吗?
Higress定位
在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。
作为面向南北向的公网网关,使用Waf防护异常流量是很常规的需求,而且随着互联网环境变得越来越复杂,用户对防护的诉求是持续增强的,常规做法是将流量先接入Waf安全网关,过滤后再将流量转发给流量网关,最后到达微服务网关;Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以降低链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。
如上图所示,① 在传统的虚拟化部署中,微服务通常选择使用 Spring Cloud Gateway 作为业务网关,而nginx则作为前置流量网关。
② 在容器和K8s主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关和微服务网关的合并成为可能。
③ Higress 是基于阿里内部构建的下一代云原生网关,实现了流量调度 + 服务治理 + 安全防护三合一的高集成能力,并深度集成了Dubbo、Nacos、Sentinel等微服务技术栈。
下载安装包
获取本案例代码
公粽号:一颗星宇宙
发送higress
获取
执行安装命令
执行脚本
./bin/configure.sh -a
输入相关的配置信息
…………等待安装
安装成功
打开管理界面
浏览器输入:ip:port
第一次打开需要初始化账号信息
提交后会跳转登录页面,登录成功进入管理界面
使用方法
在 bin 目录中存放有 Higress 独立运行版所需的各种操作脚本。本节将介绍各个脚本的具体功能和使用方法。
configure.sh
初始化 Higress 的配置,包括依赖的 Nacos 配置服务、各个组件的启动配置、Console 的初始管理员密码等等。
参数列表:
-
-a, --auto-start
配置完成后自动启动。
-
-c, --config-url=URL
配置服务的 URL。
- 若使用独立部署的 Nacos 服务,URL 格式为:nacos://192.168.0.1:8848
- 若在本地磁盘上保存配置,URL 格式为:file:///opt/higress/conf
-
–use-builtin-nacos
使用内置的 Nacos 服务。不建议用于生产环境。如果设置本参数,则无需设置
-c
参数 -
–nacos-ns=NACOS-NAMESPACE
用于保存 Higress 配置的 Nacos 命名空间 ID。默认值为
higress-system
。 -
–nacos-username=NACOS-USERNAME
用于访问 Nacos 的用户名。仅用于 Nacos 启动了认证的情况下。
-
–nacos-password=NACOS-PASSWORD
用于访问 Nacos 的用户密码。仅用于 Nacos 启动了认证的情况下。
-
-k, --data-enc-key=KEY
用于加密敏感配置数据的密钥。长度必须为 32 个字符。若未设置,Higress 将自动生成一个随机的密钥。若需集群部署,此项必须设置。
-
–nacos-port=NACOS-PORT
内置 NACOS 服务在服务器本地监听的端口。默认值为 8848。
-
–gateway-http-port=GATEAWY-HTTP-PORT
Higress Gateway 在服务器本地监听的 HTTP 端口。默认值为 80。
-
–gateway-https-port=GATEWAY-HTTPS-PORT
Higress Gateway 在服务器本地监听的 HTTPS 端口。默认值为 443。
-
–gateway-metrics-port=GATEWAY-METRIC-PORT
Higress Gateway 在服务器本地监听的用于暴露运行指标端口。默认值为 15020。
-
–console-port=CONSOLE-PORT
Higress Console 在服务器本地监听的端口。默认值为 8080。
-
-r, --rerun
在 Higress 已配置完成后重新执行配置流程。
-
-h, --help
显示帮助信息。
reset.sh
重置 Higress 配置至原始状态。已启动的 Higress 服务也将被中止。
startup.sh
启动 Higress 服务。
shutdown.sh
关闭运行中的 Higress 服务。
status.sh
查看 Higress 各组件的运行状态。
输出示例:
$ ./bin/status.sh
NAME COMMAND SERVICE STATUS PORTS
higress-apiserver-1 "/apiserver --secure…" apiserver running (healthy)
higress-console-1 "/app/start.sh" console running 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp
higress-controller-1 "/usr/local/bin/higr…" controller running (healthy)
higress-gateway-1 "/usr/local/bin/pilo…" gateway running (healthy) 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
higress-nacos-1 "bin/docker-startup.…" nacos running (healthy) 0.0.0.0:8848->8848/tcp, :::8848->8848/tcp, 0.0.0.0:9848->9848/tcp, :::9848->9848/tcp
higress-pilot-1 "/usr/local/bin/higr…" pilot running (healthy)
higress-precheck-1 "/bin/bash ./prechec…" precheck exited (0)
logs.sh
查看 Higress 各组件的运行日志。
相关文章:
Linux Mac 安装Higress 平替 Spring Cloud Gateway
Linux Mac 安装Higress 平替 Spring Cloud Gateway Higress是什么?传统网关分类Higress定位下载安装包执行安装命令执行脚本 安装成功打开管理界面使用方法configure.shreset.shstartup.shshutdown.shstatus.shlogs.sh Higress官网 Higress是什么? Higress是基于阿里内部的…...
基于重叠群稀疏的总变分信号降噪及在旋转机械故障诊断中的应用(MATLAB)
基于振动分析的故障诊断方法基本流程主要由以下五个步骤组成,分别是信号采集、信号处理、特征提取、状态识别与诊断结果。这五个步骤中信号采集与特征提取是故障诊断中最为重要的步骤,而故障微弱特征信息又是其中最难解决的问题。“故障微弱特征信息”站…...
【YOLOv8】 用YOLOv8实现数字式工业仪表智能读数(一)
上一篇圆形表盘指针式仪表的项目受到很多人的关注,咱们一鼓作气,把数字式工业仪表的智能读数也研究一下。本篇主要讲如何用YOLOV8实现数字式工业仪表的自动读数,并将读数结果进行输出,若需要完整数据集和源代码可以私信。 目录 &…...
微信小程序---npm 支持
一、构建 npm 目前小程序已经支持使用 npm 安装第三方包,但是这些 npm 包在小程序中不能够直接使用,必须得使用小程序开发者工具进行构建后才可以使用。 为什么得使用小程序开发者工具需要构建呢❓ 因为 node_modules 目录下的包,不会参与…...
02MFC画笔/画刷/画椭圆/圆/(延时)文字
文章目录 画实心矩形自定义画布设计及使用连续画线及自定义定义变量扇形画椭圆/圆输出颜色文本定时器与定时事件 画实心矩形 自定义画布设计及使用 连续画线及自定义定义变量 扇形 画椭圆/圆 输出颜色文本 定时器与定时事件...
JavaWeb(四:Ajax与Json)
一、Ajax 1.定义 Ajax(Asynchronous JavaScript And XML):异步的 JavaScript 和 XML AJAX 不是新的编程语言,指的是⼀种交互方式:异步加载。 客户端和服务器的数据交互更新在局部页面的技术,不需要刷新…...
Spring源码中的模板方法模式
1. 什么是模板方法模式 模板方法模式(Template Method Pattern)是一种行为设计模式,它在操作中定义算法的框架,将一些步骤推迟到子类中。模板方法让子类在不改变算法结构的情况下重新定义算法的某些步骤。 模板方法模式的定义&…...
初学SpringMVC之 JSON 篇
JSON(JavaScript Object Notation,JS 对象标记)是一种轻量级的数据交换格式 采用完全独立于编程语言的文本格式来存储和表示数据 JSON 键值对是用来保存 JavaScript 对象的一种方式 比如:{"name": "张三"}…...
Mojo AI编程语言(三)数据结构:高效数据处理
目录 1. Mojo AI编程语言简介 2. 数据结构在数据处理中的重要性 3. Mojo AI中的基础数据结构 3.1 数组 3.2 列表 3.3 字典 4. 高效数据结构的实现与优化 4.1 哈希表 4.2 树结构 4.3 图结构 5. 高效数据处理技术 5.1 并行处理 5.2 内存优化 5.3 数据压缩 6. 实战…...
Java学习笔记整理: 关于SpringBoot 2024/7/12;
SpringBoot springboot也是spring公司开发的一款框架。为了简化spring项目的初始化搭建的。 特点specialty: springboot的特点: 1) 自动配置 Spring Boot的自动配置是一个运行时(更准确地说,是应用程序启动时)的过程&a…...
ASP.NET MVC Lock锁的测试
思路:我们让后台Thread.Sleep一段时间,来模拟一个耗时操作,而这个时间可以由前台提供。 我们开启两个或以上的页面,第一个耗时5秒(提交5000),第二个耗时1秒(提交1000)。 期望的测试结果: 不加Lock锁&…...
Hadoop3:HDFS-通过配置黑白名单对集群进行扩缩容,并实现数据均衡(实用)
一、集群情况介绍 我的本地虚拟机,一共有三个节点,hadoop102、hadoop103、hadoop104 二、白名单 创建白名单文件whitelist,通过白名单的配置,只允许集群包含102和103两台机器可以存储数据,104无法存储数据。 需求 …...
TensorFlow系列:第五讲:移动端部署模型
项目地址:https://github.com/LionJackson/imageClassification Flutter项目地址:https://github.com/LionJackson/flutter_image 一. 模型转换 编写tflite模型工具类: import osimport PIL import tensorflow as tf import keras import …...
深度学习DeepLearning二元分类 学习笔记
文章目录 类别区分变量与概念逻辑回归Sigmoid函数公式决策边逻辑损失函数和代价函数逻辑回归的梯度下降泛化过拟合的解决方案正则化 类别区分 变量与概念 决策边置信度阈值threshold过拟合欠拟合正则化高偏差lambda(λ) 线性回归受个别极端值影响&…...
Eureka 介绍与使用
Eureka 是一个开源的服务发现框架,它主要用于在分布式系统中管理和发现服务实例。它由 Netflix 开发并开源,是 Netflix OSS 中的一部分。 使用 Eureka 可以方便地将新的服务实例注册到 Eureka 服务器,并且让其他服务通过 Eureka 服务器来发现…...
Java异常体系、UncaughtExceptionHandler、Spring MVC统一异常处理、Spring Boot统一异常处理
概述 所有异常都是继承自java.lang.Throwable类,Throwable有两个直接子类,Error和Exception。 Error用来表示程序底层或硬件有关的错误,这种错误和程序本身无关,如常见的NoClassDefFoundError。这种异常和程序本身无关࿰…...
bash终端快捷键
快捷键作用ShiftCtrlC复制ShiftCtrlV粘贴CtrlAltT新建终端ShiftPgUp/PgDn终端上下翻页滚动CtrlC终止命令CtrlD关闭终端CtrlA光标移动到最开始为止CtrlE光标移动到最末尾CtrlK删除此处到末尾的所有内容CtrlU删除此处至开始的所有内容CtrlD删除当前字符CtrlH删除当前字符的前一个…...
【Visual Studio】Visual Studio报错合集及解决办法
目录 Visual Studio报错:error LNK2001 Visual Studio报错:error C2061 Visual Studio报错:error C1075 Visual Studio报错:error C4430 Visual Studio报错error C3867 概述 持续更细Visual Studio报错及解决方法 Visual Studio报错:error LNK2001 问题 : error LNK2001…...
【微信小程序知识点】转发功能的实现
转发功能,主要帮助用户更流畅地与好友分享内容与服务。 想实现转发功能,有两种方式: 1.页面js文件必须声明onShareAppMessage事件监听函数,并自定义转发内容。只有定义了此事件处理函数,右上角菜单才会显示“转发”按…...
用python识别二维码(python实例二十三)
目录 1.认识Python 2.环境与工具 2.1 python环境 2.2 Visual Studio Code编译 3.识别二维码 3.1 代码构思 3.2 代码实例 3.3 运行结果 4.总结 1.认识Python Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&…...
电脑文件夹怎么设置密码?让你的文件更安全!
在日常使用电脑的过程中,我们常常会有一些需要保护的个人文件或资料。为了防止这些文件被他人未经授权访问,对重要文件夹设置密码是一种有效的保护措施,可是电脑文件夹怎么设置密码呢?本文将介绍2种简单有效的方法帮助您为电脑文件…...
paddla模型转gguf
在使用ollama配置本地模型时,只支持gguf格式的模型,所以我们首先需要把自己的模型转化为bin格式,本文为paddle,onnx,pytorch格式的模型提供说明,safetensors格式比较简单请参考官方文档,或其它教…...
Memcached vs Redis——Java项目缓存选择
在Java项目开发中,缓存系统作为提升性能、优化资源利用的关键技术之一,扮演着至关重要的角色。Memcached和Redis作为两种流行的缓存解决方案,各有其独特的优势和应用场景。本文旨在通过分析项目大小、用户访问量、业务复杂度以及服务器部署情…...
大模型最新黑书:基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理 PDF
今天给大家推荐一本丹尼斯罗斯曼(Denis Rothman)编写的关于大语言模型(LLM)权威教程<<大模型应用解决方案> 基于GPT-3、ChatGPT、GPT-4等Transformer架构的自然语言处理>!Google工程总监Antonio Gulli作序,这含金量不…...
【电子数据取证】电子数据司法鉴定
文章关键词:电子数据取证、司法鉴定服务、司法鉴定流程 一、定义 什么是司法鉴定? 在诉讼活动中鉴定人运用科学技术或者专业知识对诉讼涉及的专门性问题进行鉴别和判断并提供鉴定意见的活动。 电子数据司法鉴定 那么电子数据司法鉴定,就…...
使用 OpenCV 的 inRange 函数进行颜色分割
使用 OpenCV 的 inRange 函数进行颜色分割 在图像处理领域,颜色分割是一个常见的任务,常用于识别和提取图像中的特定颜色区域。OpenCV 提供了一个非常方便的函数 inRange 来实现这一功能。在这篇博客中,我们将详细介绍 inRange 函数的用法&a…...
OpenAI终止对中国提供API服务,对国内AI市场产生重大冲击?
6月25日,OpenAI突然宣布终止向包括中国在内的国家地区提供API服务,本月9日这一政策已经正式生效了! 有人说,这个事件给中国AI行业带来很大冲击!是这样吗?在展开讨论前,我们先来看看什么是API服务…...
JavaDS —— 栈 Stack 和 队列 Queue
栈的概念 栈是一种先进后出的线性表,只允许在固定的一端进行插入和删除操作。 进行插入和删除操作的一端被称为栈顶,另一端被称为栈底 栈的插入操作叫做进栈/压栈/入栈 栈的删除操作叫做出栈 现实生活中栈的例子: 栈的模拟实现 下面是Jav…...
C++进阶:继承和多态
文章目录 ❤️继承🩷继承与友元🧡继承和静态成员💛菱形继承及菱形虚拟继承💚继承和组合 ❤️多态🩷什么是多态?🧡多态的定义以及实现💛虚函数💚虚函数的重写💙…...
【八大排序】java版(上)(冒泡、快排、堆排、选择排序)
文章目录 一、冒泡排序(重点)思路代码 二、快排(面试重点)思路代码 三、堆排序(面试重点)思路代码 四、选择排序思路代码 一、冒泡排序(重点) 思路 前后两两数据进行比较,小的数据往前走,大的数据往后走,每一轮结束之后,最大的数…...
用wgert 做网站/搜狗收录提交
jQuery Mobile 是针对触屏智能手机与平板电脑的网页开发框架。 移动端兼容性好,但是pc端兼容较差。 <head> <!-- meta使用viewport以确保页面可自由缩放 --> <meta name"viewport" content"widthdevice-width, initial-scale1&quo…...
rails 开发的网站开发/怎么策划一个营销方案
转载于:https://www.cnblogs.com/changxs/p/3604056.html...
电子网站建设考试/手机广告推广软件
本文主要讲如何自定义NSOperation,以及自定义NSOperation的一些注意事项,以下载图片为例。 新建一个类,继承于NSOperation。 CustomOperation.h 代码 #import <Foundation/Foundation.h> #import <UIKit/UIKit.h>interface Custo…...
wordpress seo标题/百度投诉中心人工电话
但是在portlet中我们一般不直接使用xxUtil方法,所以要通过BooksLocalServiceUtil方法进行调用,需要再进行一层包装,找到xxx.service.impl里面的BooksLocalServiceImpl类,我们在里面添加一个方法名为getAllBooks,然后在…...
郑州网站建设方案报价/网上做广告推广
在phpmyadmin中显示上传文件最大问8M,可我的单个sql文件超过50M,尝试上传,上传依然可以进行,但上传到8M即操作终止,phpmyadmin提示上传失败。该问题实际上是php的配置问题,在php.ini中有两个参数需要关注&a…...
南开天津网站建设/网站seo平台
POE 在Quora上非常受欢迎的手机聊天机器人Poe App已经集成ChatGPT助手!除了最初集成的三个聊天机器人Sage、Claude和Dragonfly外,Poe现在还加入了第四位ChatGPT。由于使用了ChatGPT API,因此Poe拥有真正的ChatGPT。 现在更是第一批集成了GP…...