java - 没有网络服务器的 Spring Cloud Starter Eureka

标签 java spring webserver netflix-eureka

是否可以在不运行网络服务器的情况下运行 Eureka 客户端? 'spring-cloud-starter-eureka' 工件自动引入 'spring-boot-starter-web'。这是为什么?是否可以在不实际启动网络服务器的情况下运行客户端?

我的问题是启动网络服务器会消耗大约 200mb 的内存。这是一个问题,因为为我想使用 eureka 的应用程序分配的内存范围为 256-512mb。

最佳答案

您似乎不需要您的这项服务来处理 Web 请求,但仍然需要它来访问您的 eureka 服务器。

所以从应用程序中禁用网络。

spring.main.web-environment=false

并使用 Discovery 客户端获取服务。

如果这还不够好,则删除 eureka 依赖项并使用 (RestTemplate) 对您的 eureka 服务器进行 rest 调用以查询您需要的服务。 Eureka 为此公开了一个休息端点。所以它甚至不能被基于非 java/jvm 的应用程序使用。

你可以看看this我前段时间写的项目,看看如何做到这一点。

如果那还不够好。然后你可能必须编写你应该首先编写的纯 Java 代码,除非你有理由使用 spring(Transaction,JPA,web,security 等)之类的框架。

关于java - 没有网络服务器的 Spring Cloud Starter Eureka,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39767758/

相关文章:

java.lang.ClassNotFoundException : org. apache.http.config.RegistryBuilder

java - 在使用 Serenity-BDD 和 Rest Assured 时如何解决不明确的委派

java - 为什么以下 Vector 代码完全损坏?

javascript - AngularJs 表单发布数据在我的 spring Controller 中给出空值

带有 H2 控制台的 spring-boot-legacy

webserver - websockets如何保持持久连接以及在现场使用的稳定性如何?

java - 如何分析线程生命周期性能

java - Jmeter如何生成哈希sha512

asp.net - 确定所需服务器数量的最佳方法

java - Spring Data JPA @Query ArrayList 作为@Param