第 2 章 使用 Fuse boosters
Red Hat Fuse 提供以下 boosters,以帮助您开始使用 Fuse 应用程序并演示有用的组件:
- 第 2.2 节 “构建并运行 Circuit Breaker booster” - 一个启用分布式应用程序的示例,可以应对对后端服务的网络连接和临时不可用中断。
- 第 2.3 节 “构建并运行 Externalized Configuration booster” - 有关如何为 Apache Camel 路由外部配置的示例。
- 第 2.4 节 “构建并运行 REST API booster” - 一个例子,它引入了使用 HTTP 协议与远程(由 Apache Camel 公开)服务交互的机制。
构建并运行 booster 演示的先决条件,安装以下先决条件:
2.1. 生成您的 booster 项目
Fuse booster 项目存在,可帮助开发人员开始使用运行独立应用程序。此处提供的说明指导您生成其中一个增强项目,即 Circuit Breaker booster。此练习演示了 Spring Boot 上 Fuse 的有用组件。
Netflix/Hystrix 断路器使分布式应用能够处理对后端服务的网络连接和临时不可用的中断。断路器模式的基本理念是,自动检测到依赖服务的丢失,如果后端服务暂时不可用,可以编程替代行为。
Fuse 断路器提升器由两个相关服务组成:
-
名称服务,将
名称
返回到 greet 的后端服务。 -
一个
问候
服务,即调用name
服务的 frontend 服务以获取名称,然后返回字符串Hello, NAME
。
在此提升器演示中,Hystrix circuit breaker 在 问候器
服务和 名称服务
之间插入。如果 后端名称
服务不可用,则 问候
服务可能会回退到替代的行为并立即响应客户端,而不是在等待名称服务重启时被阻断。
先决条件
- 您必须有权访问 Red Hat Developer Platform。
- 您必须有受支持的 Java Developer Kit (JDK)版本。详情请查看 支持的配置页面。
- 您必须已安装并配置了 Apache Maven 3.3.x 或更高版本,如 在 本地设置 Maven所述。
流程
- 进入 https://developers.redhat.com/launch。
单击 START。
启动程序向导会提示您登录到您的红帽帐户。
- 在 Launcher 页面上,单击 Deploy an Example Application 按钮。
- 在 Create Example Application 页面上,在 Create Example Application 字段中输入 name fuse-circuit-breaker。
- 点 Select an Example。
在 Example 对话框中,选择 Circuit Breaker 选项。此时会出现 选择运行时 下拉菜单。
- 从 Select a Runtime 下拉菜单中选择 Fuse。
-
从版本下拉菜单中,选择 7.9 (Red Hat Fuse) (请勿选择
2.21.2 (Community)
版本。 - 点 Save。
- 在 Create Example Application 页面中,点 Download。
-
当您看到您的应用程序 是 Ready 对话框时,点
Download.zip
。您的浏览器下载生成的 booster 项目(打包为 ZIP 文件)。 - 使用存档实用程序将生成的项目提取到本地文件系统中的方便位置。