关注转发,不间断分享技术内容,随笔感悟。
接下来,将介绍如何使用 Spring WebFlux 执行两个微服务以相互通信。Spring WebFlux 的主要示例之一是 Spring WebFlux 使用非阻塞模型,它使应用程序的性能显着提高。Spring WebFlux 使用 Netty 作为其嵌入式服务器,而 Spring MVC 使用 tomcat 作为其嵌入式服务器。
下图显示了服务 A 如何对服务 B 进行休息调用,然后服务 B 以响应进行响应。
图表:
创建两个具有以下依赖项的项目:
将项目命名为 Service A:
将项目命名为服务 B:
确保您的包创建如下:
服务 A 域:
在 domain 下的 City 上创建一个 POJO,包含两个字段,如下所示:
在服务包下创建一个具有以下实现的 CityService 类。下面的代码将对服务 B 进行休息调用以检索城市列表。
在控制器包下创建一个调用 getCities 的 API。客户端将使用以下 API 从服务 B 调用 API。
服务类别 结构应如下所示:
服务 A 的 application.properties 应该侦听端口 9090。
服务乙:
现在打开服务 B 项目并创建如下包:
在域下创建一个名为 City 的 POJO,其中包含以下字段:
在域下创建另一个名为 Cities 的 POJO,具有以下字段:
在实体下,使用以下字段创建一个名为 CityEntity 的实体类:
在 factory 包下创建一个工厂类,并创建每个城市对象,如下所示:
在 repositories 包下,创建一个扩展 JpaRepository 的存储库接口:
在服务包下,创建一个将城市保存到数据库中的服务类:
在控制器包下,创建一个具有以下端点的 CityController 类:
服务 B 的类结构应如下所示:
现在在两个应用程序(服务 A 和服务 B)上,运行:
./gradlew clean build这将在 build/libs 下创建一个 jar 工件。
在 build/libs 下运行如下所示的命令,这将启动 Spring Boot 应用程序。
服务一:
服务乙:
现在使用任何客户端(例如 Postman)运行下面的端点,您可以在下面看到服务 B 返回给服务 A 的响应结果:
留言与评论(共有 0 条评论) “” |