阿里开源的微服务API网关-Higress 功能介绍与快速体验

API网关的主要场景介绍

网关作为现代应用架构中的关键组件,承担着多种重要职责。

1)协议转换:当企业内部使用了多种不同的服务通信协议时,网关能够将这些不同协议统一转换为标准格式,如将HTTP请求转换为dubbo或grpc调用,确保了后端微服务间的高效沟通。

2)安全隔离:是网关不可或缺的功能之一。场景也很简单,内部服务对外暴露接口,总归不能随便让外部的请求随便访问内部的API。那么通过设置访问控制列表、执行身份验证和授权检查等措施,它有效地防止了未授权的外部请求直接接触到敏感数据或系统资源,保护了企业信息资产的安全。

3)流量控制:面对突发高并发场景下,比如电商大促期间,阿里云提供的开源解决方案可以智能地分配流入系统的请求量,避免单个服务因过载而崩溃,同时保证用户体验流畅无阻。

Higress:阿里开源的多功能API网关

Higress 是一款源自阿里巴巴多年实战经验的开源 微服务 API 网关,完全免费并开源。

它结合了流量网关、微服务网关和安全网关的功能,提供了一种高度集成且易于管理的解决方案。

Higress 支持多种协议和服务发现机制,可以只通过配置快速接入spring cloud alibaba的所有其他组件 ,如 Dubbo 和 Nacos,能够帮助用户简化复杂的网络架构,并提升系统的安全性与稳定性。

作为阿里云 MSE 云原生网关的开源版本,Higress 在性能、易用性及扩展性方面都得到了充分验证,值得信赖。

Higress网关关键特性详解

Higress网关集成了流量网关、微服务网关和安全网关的功能,能够通过简单的配置实现复杂的服务管理需求,而无需额外的开发工作。

其核心能力包括:

协议转换,支持HTTP转Dubbo等多种协议,简化了传统微服务暴露为外部可访问形式的过程;

安全隔离与防护:内置WAF模块可以有效防御异常流量攻击,确保应用的安全性;

流量控制:则提供了限流降级等机制,以应对突发流量冲击。

这些功能都可以只通过配置就可以实现。

同时,Higress已经经过阿里巴巴内部多个高流量场景如双11购物节的实际验证,证明了其在大规模分布式系统中的稳定性和高效性。

Higress基于Docker的单机版快速部署及HelloWorld示例

前置条件

确保您的计算机上已安装了Docker。如果尚未安装,请访问Docker官方指南进行安装。

部署Higress
  1. 创建一个工作目录:首先,您需要在本地创建一个用于存放Higress相关配置文件的工作目录。
mkdir higress
  1. 启动Higress容器:使用docker run命令启动Higress容器,并将上述创建的工作目录挂载到容器内的指定路径。这一步骤同时映射了几个关键端口以供后续操作。
docker run -d --rm --name higress-ai -v ./higress:/data \
    -p 8001:8001 -p 8080:8080 -p 8443:8443  \
    higress-registry.cn-hangzhou.cr.aliyuncs.com/higress/all-in-one:latest

这里映射的端口分别是:

    • 8001 端口:Higress UI 控制台入口
    • 8080 端口:网关 HTTP 协议入口
    • 8443 端口:网关 HTTPS 协议入口
登录并配置Higress控制台
  1. 打开浏览器访问控制台:在浏览器中输入http://127.0.0.1:8001进入Higress控制台界面。
  1. 初始化管理员账号:首次访问时,系统会要求你设置初始管理员账户。请按照页面提示完成初始化过程。
  1. 登录控制台:初始化完成后,使用刚刚设定的用户名和密码登录Higress控制台。
  1. 添加服务来源:点击左侧菜单栏中的“服务来源”,接着点击右上角的“创建服务来源”按钮。这里我们为示例服务定义一个DNS域名服务源:
    • 服务类型:选择“DNS域名”
    • 服务名称:填入任意你喜欢的名字,比如hello-service
    • 服务端口:保持默认80即可
    • 域名列表:填写httpbin.org(这是一个公开可用的服务,用于测试目的)
  1. 配置路由:再次转到左侧菜单栏,这次选择“路由配置”。点击“创建路由”来定义一条新的路由规则:
    • 路由名称:如hello-route
    • 匹配规则:选择“精确匹配”,并在路径字段输入/get
    • 目标服务:从下拉列表中选择之前创建的服务名称hello-service.dns
测试Higress是否正常工作
  1. 验证路由有效性:打开一个新的浏览器标签页或者终端窗口,执行以下curl命令以检查配置是否生效。
curl http://localhost:8080/get -H 'host: httpbin.org'

如果一切正常,你应该能看到JSON格式的响应数据,表示请求已经被成功代理至httpbin.org

通过以上步骤,你已经完成了Higress基于Docker的单机版本部署,并且配置了一个简单的Hello World服务来进行验证。值得注意的是,Higress也支持使用K8s等方式来做部署和集成,具体可以去Higress官网查询更多相关信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值