本文旨在提供有关如何获取 apiman 提供的 api 管理功能以与 jboss fuse 一起工作的简短指南,jboss fuse 是一个基于 apache camel 的轻量级、灵活的集成平台,是许多最常用的企业集成模式的实现(eip)。
在 jboss fuse 中创建 api 提供程序
以下几个步骤应该可以让您快速开始将应用程序部署到 jboss fuse 中。出于演示目的,我使用了随保险丝安装一起提供的示例其余应用程序(快速入门)。有关为 jboss fuse 开发应用程序的更多信息,请查看 jboss.org 上的 开发人员资料 和其他 资源 。
安装
要获取 jboss fuse 的分发,请访问 jboss fuse 下载页面 。 jboss fuse 的安装非常简单,你唯一需要做的就是解压发行版,例如
unzip jboss-fuse-full-6.2.0.redhat-133.zip
您可能还想通过取消注释
<fuse_dir>/etc/users.properties
中的最后一行来启用默认管理员用户。如果没有配置用户,您将无法登录 fuse 管理控制台。
服务器启动
要启动 fuse,只需从
<fuse_dir>/bin
执行以下命令:
unzip jboss-fuse-full-6.2.0.redhat-133.zip
加载 jboss fuse 后,继续创建一个新的 fuse fabric 实例。为此,从 fuse cli 执行
fabric:create
命令:
unzip jboss-fuse-full-6.2.0.redhat-133.zip
在 fuse fabric 启动并运行后,登录 hawt.io 管理控制台,默认情况下它应该在 http://localhost:8181 可用。在 fabric 透视图中,在容器选项卡下单击 创建 按钮以打开 创建新容器表单 。
在 创建新容器 页面上填写您希望用于容器的名称(例如 my-rest-container),并确保为其选择“rest”配置文件。这将确保 fabric 拾取其余的 quickstart 并将其部署到此容器。通过点击 创建和启动容器 按钮来完成操作。
容器应该在创建后立即自动启动,其余端点应该可用。如果没有,请选择适当的容器并点击开始。您可以通过单击 服务 选项卡下的 api 部分来检查部署到 fuse fabric 实例的所有 api。请注意 位置 字段 - 这是端点实现的 基本 url 。我们稍后会在 apiman 管理器中使用它。
有一个预配置的默认用户,因此您可以验证应用程序是否已成功部署。它位于
<location>/customerservice/customers/123
(例如
http://localhost:8182/cxf/crm/customerservice/customers/123
)
unzip jboss-fuse-full-6.2.0.redhat-133.zip
配置 apiman 来管理 fuse 端点
要安装最新版本的 apiman,请遵循本 指南 。安装过程也非常简单,您需要做的就是在 wildly 8 服务器上解压 apiman overlay zip。
完成安装后,从
<wildfly>/bin
文件夹中执行以下命令启动 apiman:
unzip jboss-fuse-full-6.2.0.redhat-133.zip
快速公共服务设置
出于演示目的,我将创建一个公共服务,但在现实生活中,您可能需要配置不同的计划、各种合同等。请参阅 apiman 用户指南 以获取更多详细信息。
为了在 apiman 中管理 api,您需要创建一个您的 api 所属的新组织。您可以在 apiman 管理器中轻松做到这一点,该管理器通常位于: http://localhost:8080/apimanui 。
一旦登录到 apiman 管理器,找到初始页面上的组织部分,选择 创建一个新的组织 链接,提供一个名称并点击 创建组织 按钮。这将带您到组织详细信息页面,您可以在其中通过单击 服务 选项卡下的 新服务 按钮来创建新服务:
您将被要求提供此服务的名称和版本。成功创建服务后,在您可以发布和开始使用它之前只剩下很少的事情了。首先,您需要在 实施选项 卡上提供一个实施基础网址。使用其余快速入门的基本网址并保存您的更改:
其次,您可能希望对这项公共服务应用一些政策。为此,请转到策略选项卡并配置您选择的策略。我使用速率限制策略将此服务的使用限制为每分钟 5 次:
现在您已准备好通过选中 计划选项 卡下的 公开此服务来公开该服务 ,保存更改并单击 发布 按钮(现在应该已启用)。
发布服务后,查看 端点 选项卡以查找用于调用此公共服务的 url:
测试你的设置
根据您分配给公共服务的政策,您可能会遇到不同的行为。但是,如果您遵循本教程并在达到允许的最大请求数后分配了速率限制策略,您将获得类似于以下内容的输出:
- 第一个请求应该成功:
unzip jboss-fuse-full-6.2.0.redhat-133.zip
-
执行 5 个连续请求应该会失败,并显示
http 429 too many requests
:
unzip jboss-fuse-full-6.2.0.redhat-133.zip