简介

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 镜像。

步骤:

  1. 登录 docker hub 并使用以下链接注册 Software AG Microgateway 试用版https://hub.docker.com/_/softwareag-microgateway-trial

  2. 使用以下命令拉取微网关镜像docker pull store/softwareag/microgateway-trial:10.5

  3. 使用以下命令启动 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

  1. 从 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 .

  1. 运行docker images 验证镜像是否创建docker images

  2. 运行以下命令启动 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 镜像。

步骤:

  1. 使用以下命令microgateway.bat downloadSettings -gw http://host:port/rest/apigateway -gwu Administrator -gwp password –-output my-custom-settings.yml创建 custom-settings.yml 文件

  2. 编辑 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:

  1. Microgateway API 可以使用 URLhttp://localhost:microgatewayPort/gateway/petstore/1/pet/findByStatus调用

阅读全文

Logo

云原生社区为您提供最前沿的新闻资讯和知识内容

更多推荐