Microgateway 基于 Docker 的供应
简介
Microgateway 是一个轻量级的分布式 API 代理,旨在在服务端点附近实施策略和业务逻辑。 Microgateway 使用自己的 JRE 运行。它包含 API、应用程序、策略和别名定义等资产。可以使用简单的命令行界面使用启动和停止命令来控制微网关。 Microgateway 包含一个用于在 REST API 上执行策略的服务。 Microgateway 公开了用于查询状态、系统设置和预置资产的 REST API。 Microgateway 通过促进身份验证、流量监控和管理等策略的实施,提供对环境的完全控制。
本文介绍了如何配置微网关。本文介绍基于 Docker 的 Microgateway 配置,从现有的 API Gateway 安装和使用 docker hub 映像。
观众
假设本文的读者熟悉 API Gateway、Microgateway 和 Docker 基础的使用。
先决条件
-
启动API网关
-
配置少量API
-
从 API 网关导出 API 和相关资产
用例
微服务和基于微服务的架构的普遍使用增加了对轻量级网关的需求。 Microgateway 的灵活部署特性使其成为低延迟小尺寸解决方案的理想选择。
Microgateway 使微服务能够直接相互通信,而无需 API Gateway。这减轻了 API Gateway 上的流量过载并减少了通信往返的延迟。可以在微网关上强制执行所需的保护策略,以在微服务之间建立安全的通信通道。
[
](https://res.cloudinary.com/practicaldev/image/fetch/s--GPPMi4f7--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://aws1.discourse-cdn .com/techcommunity/original/2X/6/618e0cb97369e756e96dcc77ad466a85d6a5b865.png)
基于 Docker 的供应
Microgateway 官方 docker 镜像可以从 docker hub 下载,可用于 Microgateway 配置。本文介绍了从现有 Microgateway 安装和使用 Microgateway 官方 docker 映像创建 Microgateway 映像所需的步骤。 Microgateway 包包含运行微网关所需的所有基本工件。
Microgateway zip的内容是
-
JRE
-
微网关服务器
-
微网关 CLI
-
配置文件
-
一个或多个导出的 API Gateway 资产档案
使用 Docker Hub 镜像创建 Microgateway 实例
此方法使用 Microgateway 的 Software AG 官方 docker 镜像。
步骤:
-
登录 docker hub 并使用以下链接注册 Software AG Microgateway 试用版https://hub.docker.com/_/softwareag-microgateway-trial
-
使用以下命令拉取微网关镜像
docker pull store/softwareag/microgateway-trial:10.5 -
使用以下命令启动 Microgateway 容器
docker run -p 9090:4485 \ --env mcgw_api_gateway_url=http://sample.com:5555/rest/apigateway \ --env mcgw_api_gateway_user=Administrator \ --env mcgw_api_gateway_password=password \ --env mcgw_downloads_apis=petstore \ --name microgateway store/softwareag/microgateway-trial:10.5`
If Microgateway and API Gateway is running on the same machine then use --add-host=“myComputerName:myComputerIP” along with the docker run.
进入全屏模式 退出全屏模式
docker run -p 9090:4485 \
--add-host="myComputerName:myComputerIP" \ --env mcgw_api_gateway_url=http://sample.com:5555/rest/apigateway \ --env mcgw_api_gateway_user=Administrator \ --env mcgw_api_gateway_password=password \ --env mcgw_downloads_apis=petstore \ --name microgateway store/softwareag/microgateway-trial:10.5
进入全屏模式 退出全屏模式
1.下面的API可以用来验证Microgateway的状态http://localhost:9090/rest/microgateway/statushttp://localhost:9090/rest/microgateway/assets
从现有 API 网关配置 Microgateway Docker
以下选项可用于从现有 API Gateway 安装创建 Microgateway Docker 映像。
Docker 提供来自 API Gateway 的资产存档
在此方法中,所有配置详细信息都从 API Gateway 复制。用户修改设置的灵活性不大。
步骤:
1.导航到Microgateway安装目录<<Installation Dir>>\Microgateway
- 从 API Gateway 创建 API 导出并将文件命名为 apigw-archive.zip
3.运行以下docker命令创建docker文件.\microgateway.bat createDockerFile --docker_dir . -p 9090 -a apigw-archive.zip
4.运行以下命令创建一个docker镜像docker build -f Microgateway_DockerFile -t sag:mcgw-static .
-
运行docker images 验证镜像是否创建
docker images -
运行以下命令启动 Microgateway 容器
docker run -d -p 9090:9090 \
--env mcgw_api_gateway_url=http://samplehost:port/rest/apigateway \
--env mcgw_api_gateway_user=Administrator \
--env mcgw_api_gateway_password=password \
--name mcgw-static sag:mcgw-static
进入全屏模式 退出全屏模式
1.以下API可用于验证Microgateway的状态http://localhost:9090/rest/microgateway/statushttp://localhost:9090/rest/microgateway/assets
使用 yml 文件创建 Microgateway 实例
该方法使用 yml 文件创建 Microgateway 的 docker 镜像。
步骤:
-
使用以下命令
microgateway.bat downloadSettings -gw http://host:port/rest/apigateway -gwu Administrator -gwp password –-output my-custom-settings.yml创建 custom-settings.yml 文件 -
编辑 yml 文件以添加端口、API Gateway 详细信息、Microgateway 池详细信息和存档详细信息(从 API Gateway 手动创建的存档)。
ports:
http: "8054"
https: "8053"
api_gateway:
url: "localhost:ISPort"
user: "Administrator"
password: “password"
microgatewayPool:
microgatewayPoolName: "DemoPool"
microgatewayPoolDescription: "This is a Demo Pool"
archive:
file: apigw-archive.zip
进入全屏模式 退出全屏模式
由于存档是从 API 网关手动创建的,因此所有相关资产也从网关中提取。
1.运行以下命令创建docker文件.\microgateway.bat createDockerFile --docker_dir . -c my-custom-settings.yml
2.运行以下命令构建docker镜像docker build -t sag:mcgw-dynamic -f Microgateway_DockerFile .
3.运行以下命令启动docker容器docker run -d -p 9090:9090 --name mcgw-dynamic sag:mcgw-dynamic
4.下面的API可以用来验证Microgateway的状态http://localhost:9090/rest/microgateway/statushttp://localhost:9090/rest/microgateway/assets
API 调用 Microgateway API:
- Microgateway API 可以使用 URLhttp://localhost:microgatewayPort/gateway/petstore/1/pet/findByStatus调用
阅读全文
更多推荐
所有评论(0)