Linux Mac 安装Higress 平替 Spring Cloud Gateway

news2024/10/3 4:31:50

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。

image

传统网关分类

行业中通常把网关分为两个大类:流量网关与业务网关,流量网关主要提供全局性的、与后端业务无关的策略配置,例如阿里内部的的统一接入网关Tengine就是典型的流量网关;业务网关顾名思义主要提供独立业务域级别的、与后端业务紧耦合策略配置,随着应用架构模式从单体演进到现在的分布式微服务,业务网关也有了新的叫法 - 微服务网关(图示说明如下)。在目前容器技术与K8s主导的云原生时代,下一代网关模式依然是这样吗?

image

Higress定位

在虚拟化时期的微服务架构下,业务通常采用流量网关 + 微服务网关的两层架构,流量网关负责南北向流量调度和安全防护,微服务网关负责东西向流量调度和服务治理,而在容器和 K8s 主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关 + 微服务网关合二为一成为可能。

作为面向南北向的公网网关,使用Waf防护异常流量是很常规的需求,而且随着互联网环境变得越来越复杂,用户对防护的诉求是持续增强的,常规做法是将流量先接入Waf安全网关,过滤后再将流量转发给流量网关,最后到达微服务网关;Higress希望通过内置Waf模块,使得用户的请求链接只经过Higress就可以同时完成Waf防护、流量分发、微服务治理,既可以降低链路RT,也可以降低网关的运维复杂度。因此Higress实现了流量网关 + 微服务网关 + 安全网关三合一的高集成能力。

image

如上图所示,① 在传统的虚拟化部署中,微服务通常选择使用 Spring Cloud Gateway 作为业务网关,而nginx则作为前置流量网关。

② 在容器和K8s主导的云原生时代,Ingress 成为 K8s 生态的网关标准,赋予了网关新的使命,使得流量网关和微服务网关的合并成为可能。

③ Higress 是基于阿里内部构建的下一代云原生网关,实现了流量调度 + 服务治理 + 安全防护三合一的高集成能力,并深度集成了Dubbo、Nacos、Sentinel等微服务技术栈。

下载安装包

获取本案例代码

公粽号:一颗星宇宙

发送higress获取

image-20240709191532999

执行安装命令

执行脚本

./bin/configure.sh -a

image-20240709185606612

输入相关的配置信息

…………等待安装

image-20240709185650361

安装成功

image-20240709185741802

打开管理界面

浏览器输入:ip:port

image-20240709185852928

第一次打开需要初始化账号信息

提交后会跳转登录页面,登录成功进入管理界面

image-20240709185956569

使用方法

在 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 各组件的运行日志。

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

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

相关文章

分享一个 EF6 分页查询数据的 IQueryable 扩展方法

前言 不废话&#xff0c;直接上方法。_ IQueryable 扩展方法 方法一 /// <summary> /// 由其它 Reponsitory 提供数据源&#xff0c;分页查询数据 /// </summary> /// <typeparam name"T"></typeparam> /// <typeparam name"S&quo…

java算法day9

232.用栈实现队列 用队列实现栈 有效的括号 删除字符串中的所有相邻重复项 逆波兰表达式求值 解决栈和队列的基本数据结构 Queue&#xff08;队列&#xff09; 在java中是一个接口。定义的方法&#xff1a; //boolean add(E e): 将指定的元素插入此队列&#xff08;如果…

开源数据 | 语音对话大模型高品质数据集——MagicHub多方言语音数据集推荐

近日&#xff0c;法国知名开源AI研究实验室Kyutai推出了一款具备看、听、说多模态大模型——Moshi。Moshi功能与GPT-4o相似&#xff0c;可以听取人的语音提问后进行实时推理回答内容。然而&#xff0c;Moshi最吸引人的是全面开源&#xff0c;并可以支持在端侧运行。这将大大提振…

ARM裸机:一步步点亮LED(汇编)

硬件工作原理及原理图查阅 LED物理特性介绍 LED本身有2个接线点&#xff0c;一个是LED的正极&#xff0c;一个是LED的负极。LED这个硬件的功能就是点亮或者不亮&#xff0c;物理上想要点亮一颗LED只需要给他的正负极上加正电压即可&#xff0c;要熄灭一颗LED只需要去掉电压即可…

Dynamics365 UCI下的高级查找(不要留恋Classic了)

UCI界面已经用了多年了&#xff0c;在Classic下的的高级查找按钮(漏斗icon)已不见踪影 但因为使用习惯问题&#xff0c;还是有人会通过右上角高级设置&#xff0c;进入Classic界面找到漏斗Icon来使用高级查找 但新的UCI风格下已经没了高级查找的概念&#xff0c;取而代之的是基…

ComfyUI入门教程

本文主要介绍了通过源码运行comfyui&#xff0c;默认例子介绍&#xff0c;节点管理器的使用&#xff0c;以及界面汉化。可多参考开源工作流&#xff0c;多加实践&#xff0c;从而掌握comfyui操作。 1.源码运行comfyui 执行命令python main.py如下&#xff1a; 安装numpy 1.x最…

JavaScript中的LHS和RHS

LHS和RHS之前我们先来回忆一下最简单的赋值操作! var test100; console.log(test); 以上代码的意思简单我们理解为把右边的值赋值给左边的test变量,然后输出打印结果。 可是我们要是深入理解你就会发现在这个过程当中&#xff0c;还发生了一些其他的事情 而这些事情就是今天…

C++入门基础(1)

因为6月中旬学校事情多&#xff0c;许久未更新&#xff0c;让我们继续学习吧&#xff01; 目录 前言&#xff1a; 一、命名空间&#xff1a; 1、定义&#xff1a; 2、使用&#xff1a; 3、访问命名空间域: 二、C输入、输出函数&#xff1a; 1、输入函数&#xff1a; 2、输出…

vue3源码(六)渲染原理-runtime-core

1.依赖关系 runtime-dom 依赖于runtime-core,runtime-core 依赖于reactivity和sharedruntime-core提供跨平台的渲染方法createRenderer&#xff0c;用户可以自己传递节点渲染的渲染方法renderOptions&#xff0c;本身不关心用户使用什么APIruntime-dom提供了为浏览器而生的渲染…

关闭这八个电脑设置,保护个人隐私

你知道吗&#xff1f;电脑可能一直在偷窥你的小秘密。朋友们&#xff0c;一定要记得关闭这8个电脑设置哦&#xff0c;这样可以有效地保护我们的个人隐私。 按住键盘Windows键加i键&#xff0c;快速打开Windows设置。然后点击隐私选项。 我们来看基本的常规设置。里面有四个设置…

关于put提交不了参数的解决办法

html中form表单只支持GET与POST请求&#xff0c;而DELETE、PUT等method并不支持&#xff0c; 如图所示 参数请求改成RequestBody&#xff0c;用json格式传参即可解决问题

资料分析笔记整理

提升技巧多做题、少动笔、多分析 资料分析认识 国考一般20题(24~28分钟) 统计材料的类型包括单纯的文字、表格、图形以及由这些元素组成的复合类型材料 文字性材料:(30~60秒) 多段落型文字材料(时间、关键词、结构) 孤立段落文字材料(时间、关键词、标点[。;]) 表…

数据挖掘——matplotlib

matplotlib概述 Mat指的是Matlab&#xff0c;plot指的是画图&#xff0c;lib即library&#xff0c;顾名思义&#xff0c;matplotlib是python专门用于开发2D图表的第三方库&#xff0c;使用之前需要下载该库&#xff0c;使用pip命令即可下载。 pip install matplotlib1、matpl…

Idea使用EasyApi插件自动生成接口文档到Yapi

1.安装EasyApi插件 2.配置Yapi 设置-》EasyApi Yapi的Server 配置为Yari项目的地址 tokens&#xff1a;项目名Yapi项目里面的token&#xff1a;例如&#xff1a;test-project0e6cfb3c22c884a0fce108fffe554a20ca12341e421d7201233143ee440af36b mytest-portal0e6cfb3c22c884a…

关于Qt模型插入最后一行数据中存在未填满的项,点击导致崩溃的解决办法

在使用Qt模型视图框架的时候&#xff0c;你可能会遇见这种情况&#xff1a;给QTableView设置设置模型的时候&#xff0c;网模型里面插入数据&#xff0c;因为数据是一行一行插入的&#xff0c;即要使用model的appandRow函数&#xff0c;但有时候最后一行数据没有填满一行&#…

Temu是什么?Temu自养号测评有什么优势?

一、 Temu是什么&#xff1f;Temu是拼多多于海外线的跨境电商平台&#xff0c;“Temu”这个名字的含义也和拼多多的意思相近。Temu跨境电商自上线以来&#xff0c;下载量不断攀升&#xff0c;发展势头一片大好&#xff0c;击穿地板价的商品在欧美市场掀起了一阵狂潮&#xff0c…

html H5 dialog弹窗学习,实现弹窗显示内容 替代confirm、alert

html H5 dialog弹窗学习,实现弹窗内容 替代confirm 框架使用的mui,使用mui.confirm() 弹窗内容过多时,弹窗被撑的到屏幕外去了,使用H5 dialog 标签自定义一个固定大小的弹窗,内容过多时可下拉显示 效果展示 隐私政策内容很多,可以下拉显示 代码 myDialog.css dialog{p…

Java虚拟机面试题汇总

目录 1. JVM的主要组成部分及其作用&#xff1f; 1.1 运行时数据区划分&#xff1f; 1.2 哪些区域可能会发生OOM&#xff1f; 1.3 堆和栈的区别&#xff1f; 1.4 内存模型中的happen-before是什么&#xff1f; 2. HotSpot虚拟机对象创建流程&#xff1f; 2.1 类加载过程…

Xilinx zc706 USB电路解析

作者 QQ群&#xff1a;852283276 微信&#xff1a;arm80x86 微信公众号&#xff1a;青儿创客基地 B站&#xff1a;主页 https://space.bilibili.com/208826118 参考 USB OTG检测原理 USB3320 USB_ID为低电平时候&#xff0c;为host模式&#xff0c;USB_ID为悬空&#xff08;高…

如何快速实现一个无缝轮播效果

&#x1f9d1;‍&#x1f4bb; 写在开头 点赞 收藏 学会&#x1f923;&#x1f923;&#x1f923; 需求简介 轮播图是我们前端开发中的一个常见需求&#xff0c;在项目开发中&#xff0c;我们可以使用element、ant等UI库实现。某些场景&#xff0c;为了一个简单的功能安装一…