1.3. 构建您的 booster 项目
这些说明指导您在 Spring Boot 上使用 Fuse 构建 Circuir Breaker booster。
先决条件
- 您必须已通过 Red Hat Developer Portal 生成并下载您的 booster 项目。
- 您必须有受支持的 Java Developer Kit (JDK)版本。详情请查看 支持的配置页面。
- 您必须具有 Apache Maven 3.3.x 或更高版本。
流程
打开 shell 提示符并使用 Maven 从命令行构建项目:
cd fuse-circuit-breaker
cd fuse-circuit-breaker
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn clean package
mvn clean package
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Maven 构建项目后,它会显示 Build Success 消息。
打开一个新的 shell 提示符并启动名称服务,如下所示:
cd name-service
cd name-service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn spring-boot:run -DskipTests -Dserver.port=8081
mvn spring-boot:run -DskipTests -Dserver.port=8081
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当 Spring Boot 启动时,您应该看到类似如下的输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 打开一个新的 shell 提示符并启动问候服务,如下所示:
cd greetings-service
cd greetings-service
Copy to Clipboard Copied! Toggle word wrap Toggle overflow mvn spring-boot:run -DskipTests
mvn spring-boot:run -DskipTests
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当 Spring Boot 启动时,您应该看到类似如下的输出:
... 2019-05-06 20:22:19.051 INFO 9729 --- [ main] o.a.c.c.s.CamelHttpTransportServlet : Initialized CamelHttpTransportServlet[name=CamelServlet, contextPath=] 2019-05-06 20:22:19.115 INFO 9729 --- [ main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http) 2019-05-06 20:22:19.123 INFO 9729 --- [ main] com.redhat.fuse.boosters.cb.Application : Started Application in 7.68 seconds (JVM running for 12.66)
... 2019-05-06 20:22:19.051 INFO 9729 --- [ main] o.a.c.c.s.CamelHttpTransportServlet : Initialized CamelHttpTransportServlet[name=CamelServlet, contextPath=] 2019-05-06 20:22:19.115 INFO 9729 --- [ main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http) 2019-05-06 20:22:19.123 INFO 9729 --- [ main] com.redhat.fuse.boosters.cb.Application : Started Application in 7.68 seconds (JVM running for 12.66)
Copy to Clipboard Copied! Toggle word wrap Toggle overflow greetings 服务通过
http://localhost:8080/camel/greetings
URL 公开 REST 端点。通过在 web 浏览器中打开 URL 或打开另一个 shell 提示符并输入以下
curl
命令来调用 REST 端点:curl http://localhost:8080/camel/greetings
curl http://localhost:8080/camel/greetings
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是响应:
{"greetings":"Hello, Jacopo"}
{"greetings":"Hello, Jacopo"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 要演示 Camel Hystrix 提供的断路器功能,请在名称服务的 shell 提示符窗口中键入 Ctrl-C 来终止后端名称服务。
现在,名称服务不可用,断路器在 中启动,以防止在调用时问候服务挂起。
在网页浏览器中打开
http://localhost:8080/camel/greetings
,或者在另一个 shell 提示符窗口中输入以下curl
命令来调用问候 REST 端点:curl http://localhost:8080/camel/greetings
curl http://localhost:8080/camel/greetings
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下是响应:
{"greetings":"Hello, default fallback"}
{"greetings":"Hello, default fallback"}
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在运行 greetings 服务的窗口中,日志会显示以下信息序列:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
有关此示例的更多信息,请打开 Circuit Breaker - Red Hat Fuse 页面,地址为 http://localhost:8080/ (同时
问候服务正在运行
)。此页面包含一个到监控断路器状态的 Hystrix 仪表板的链接。