登录  /  注册
博主信息
博文 1
粉丝 0
评论 0
访问量 336
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
微服务之API网关介绍
P粉858195090
原创
336人浏览过

## 微服务网关在分布式系统中的关键功能

微服务网关在现代分布式架构中扮演了至关重要的角色,它能够将外部请求合理地分发到内部不同的微服务实例上,实现高效的流量管理。通过提供统一的入口点,微服务网关简化了客户端与后端服务之间的交互方式,降低了系统的复杂度。此外,它还支持多种协议转换和适配功能,使得基于不同技术栈的服务可以无缝协作。在安全性方面,网关作为所有入站请求的第一道防线,负责执行身份验证、授权等关键操作,有效提升了整个系统的防护水平。阿里等企业广泛采用API网关模式进行内外部资源整合与开放,进一步证明了这种架构模式的价值。开源社区也在持续贡献力量,推动着相关技术的发展和完善。


## Higress:阿里巴巴开源的多功能微服务网关

Higress 是一款源自阿里巴巴集团多年实战经验的开源 API 网关。它基于 Envoy 和 Istio 构建,集成了流量网关、微服务网关和安全网关的功能于一体,为用户提供了高度集成且强大的网关解决方案。通过深度集成 Dubbo、Nacos 和 Sentinel 等微服务技术栈,Higress 能够极大地降低网关部署及运维成本。此外,Higress 全面支持 Ingress 与 Gateway API 标准,并内置了 WAF 模块,以满足日益增长的安全防护需求。这款完全免费且开源的工具,体现了阿里巴巴在云原生领域的深厚积累和技术前瞻性。


## Higress网关关键功能解析

Higress网关的核心能力涵盖了流量控制、协议转换、安全隔离等关键功能,且这些能力均可通过配置而非开发实现。具体来说,Higress支持HTTP到Dubbo的协议转换,简化了微服务对外暴露的服务接口。同时,它内置了WAF(Web应用防火墙)和认证鉴权插件,提供了强大的安全防护机制。此外,Higress具备精细化的流量管理和限流降级策略,能够有效应对突发流量,确保系统的稳定运行。值得一提的是,所有这些特性都经过了阿里巴巴内部大规模高流量场景的实际验证,保证了其在生产环境下的可靠性和性能。


## Higress实战示例-通过Docker实现单机快速安装

## Higress具体使用样例-基于docker的单机版快速部署


### 前置条件

在开始之前,请确保您的本地环境已经安装了 Docker。如果尚未安装,您可以参考官方指南完成安装:[Docker 安装指南](https://docs.docker.com/get-started/get-docker/)


### 部署步骤


1. **创建一个工作目录**  

   创建一个新的目录用于存放 Higress 的配置文件和数据。

   ```bash

   mkdir higress

   ```


2. **启动 Higress 容器**  

   使用以下命令启动 Higress,并将容器内 `/data` 目录映射到宿主机上我们刚创建的 `higress` 文件夹中,同时将必要的端口暴露出来。

   ```bash

   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 控制台入口

   - `8080`:网关 HTTP 协议入口

   - `8443`:网关 HTTPS 协议入口


### 登陆 Higress 控制台进行配置


1. **访问控制台**  

   打开浏览器并访问 [http://127.0.0.1:8001](http://127.0.0.1:8001) 来打开 Higress 的管理界面。


2. **初始化管理员账号**  

   第一次访问时需要先初始化管理员账号。请按照页面提示完成设置后,使用新设置的用户名密码登录 Higress 控制台。


3. **创建服务来源**  

   - 在左侧菜单选择“服务来源”,点击右侧的“创建服务来源”按钮。

   - 依次填写如下信息并保存提交:

     - 服务类型:选择 `DNS域名`

     - 服务名称:输入 `httpbin`

     - 服务端口:填入 `80`

     - 域名列表:填写 `httpbin.org`


4. **配置路由规则**  

   - 切换到“路由配置”选项卡,点击“创建路由”按钮。

   - 按照要求配置新的路由:

     - 路由名称:指定为 `my-route`

     - 匹配规则:选择“精确匹配”,路径设置为 `/get`

     - 目标服务:从下拉列表中选中 `httpbin.dns`


### 测试生效


为了验证上述配置是否正确且有效,您可以在浏览器地址栏输入 `http://127.0.0.1:8080/get` 或者直接执行下面这条 curl 命令:

```bash

curl http://127.0.0.1:8080/get

```

预期结果应该是看到来自 `httpbin.org` 对当前请求的信息以 JSON 格式返回。


### 查看本地配置文件


对于更深入的理解或手动修改需求,您可以通过查看位于 `higress` 文件夹下的 `ingresses` 子目录来了解 Higress 是如何存储其配置信息的。例如,上面创建的路由会生成一个名为 `my-route.yaml` 的文件,内容如下所示:

```yaml

annotations:

  higress.io/destination: httpbin.dns

  higress.io/ignore-path-case: "false"

labels:

  higress.io/resource-definer: higress

rules:

- http:

    paths:

    - backend:

        resource:

          apiGroup: networking.higress.io

          kind: McpBridge

          name: default

      path: /get

      pathType: Exact

```


此配置定义了一个简单的路由策略,通过 `annotations` 和 `rules` 字段实现了对特定 URL 路径的请求转发至指定的服务实例。


至此,您已经成功地完成了基于 Docker 的 Higress 单机版本的快速部署与基本配置。此外,higress也支持使用k8s等方式来做部署和集成,具体可以去[higress官网](https://higress.cn/)查询更多详情。


本博文版权归博主所有,转载请注明地址!如有侵权、违法,请联系admin@php.cn举报处理!
全部评论 文明上网理性发言,请遵守新闻评论服务协议
0条评论
作者最新博文
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号

  • 登录PHP中文网,和优秀的人一起学习!
    全站2000+教程免费学