【问题标题】:Spring Cloud Netflix - how to access Eureka/Ribbon from traditional web app?Spring Cloud Netflix - 如何从传统 Web 应用程序访问 Eureka/Ribbon?
【发布时间】:2018-03-31 14:53:13
【问题描述】:

我在互联网上找到的关于 Spring Cloud Netflix 的所有内容都是关于使用 @EnableEurekaClients 等从引导应用程序运行微服务。

现在我正在尝试将我的日志记录微服务连接到一个传统的战争应用程序(springmvc、jaxws 等)——这是一个无法转换为 Boot 或以任何方式(通过技术任务)修改的遗留问题。

我创建了一个新的 maven 模块“log-server-client”,它对上层 Web 层一无所知,并打算在任何 maven 项目中用作简单的依赖项。

我应该如何为这个简单的依赖配置对 Spring Cloud Netflix 的访问?至少,如何配置 Eureka 和 Ribbon?

我刚刚从RestTemplate 中提取了几行代码并创建了我的自定义JmsTemplate(微服务与jms 远程处理、apache camel 和activemq 一起使用),这与RestTemplate 中的操作完全相同,但是这段代码仍然缺乏连接到基础设施

afaik,我们可以创建一个全局单例 bean,从这个 bean 运行一个单独的线程,从这个线程运行 Boot app,但是你不觉得它很丑,会导致问题吗?它究竟应该如何使用?

【问题讨论】:

    标签: spring cloud netflix-eureka netflix netflix-ribbon


    【解决方案1】:

    好问题!

    一种方法是使用“sidecar”。这似乎是一个伴随的 Spring Boot 应用程序,它代表您的传统 Web 应用程序向 Eureka Server 注册。

    参见例如:

    http://www.java-allandsundry.com/2015/09/spring-cloud-sidecar.html

    http://cloud.spring.io/spring-cloud-netflix/spring-cloud-netflix.html#_polyglot_support_with_sidecar

    另一种方法是使用以下库:

    “一个允许在 Eureka 服务发现中注册遗留应用程序的小库。”

    https://github.com/sawano/eureka-legacy-registrar

    这个库可以在 Spring Boot 之外使用。

    【讨论】:

      猜你喜欢
      • 2018-06-18
      • 2017-07-21
      • 2016-01-05
      • 2020-04-15
      • 2015-12-12
      • 2022-12-05
      • 2019-08-04
      • 1970-01-01
      • 2017-07-07
      相关资源
      最近更新 更多