搭建eureka集群环境以及客户端配置
先来效果图
eureka集群节点一
eureka集群节点二
节点一显示的注册服务
节点二显示的注册服务
eureka服务端配置如下所示
现在将eureka服务端放到了测试环境 192.168.31.50 192.168.31.60
服务信息
最后给出全部的eureka代码
pom文件
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | <?xml version= "1.0" encoding= "UTF-8" ?> <project xmlns= "http://maven.apache.org/POM/4.0.0" xmlns:xsi= "http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" > <modelVersion> 4.0 . 0 </modelVersion> <groupId>com.eureka</groupId> <artifactId>pingan-cloud</artifactId> <version> 1.0 -SNAPSHOT</version> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version> 2.7 . 14 </version> <relativePath/> </parent> <properties> <project.build.sourceEncoding>UTF- 8 </project.build.sourceEncoding> <project.reporting.outputEncoding>UTF- 8 </project.reporting.outputEncoding> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version> 2021.0 . 1 </version> <type>pom</type> <scope> import </scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> <!-- <dependency>--> <!-- <groupId>org.springframework.security</groupId>--> <!-- <artifactId>spring-security-web</artifactId>--> <!-- <version> 5.4 . 11 </version>--> <!-- </dependency>--> <dependency> <groupId>com.thoughtworks.xstream</groupId> <artifactId>xstream</artifactId> <version> 1.4 . 20 </version> </dependency> <dependency> <groupId>org.codehaus.jettison</groupId> <artifactId>jettison</artifactId> <version> 1.5 . 4 </version> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-resources-plugin</artifactId> <version> 3.1 . 0 </version> <configuration> <encoding>UTF- 8 </encoding> </configuration> </plugin> </plugins> <finalName>eureka</finalName> </build> </project> |
application.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | #端口号 server.port= 8764 eureka.client.service-url.defaultZone=http: //${spring.security.user.name}:${spring.security.user.password}@192.168.31.60:8763/eureka eureka.client.register-with-eureka= false eureka.client.fetch-registry= false #关闭自动保护机制 eureka.server.enable-self-preservation= false #eureka清理无效节点的时间间隔,单位毫秒 eureka.server.eviction-interval-timer-in-ms= 60000 spring.application.name=eureka_8764 #日志打印级别 #logging.level.com.eureka=info #logging.level.web=info #spring.devtools.add-properties= false logging.level.com.eureka=debug logging.level.org.springframework.web.client.RestTemplate=info logging.level.org.springframework.web.HttpLogging=info logging.level.web=debug spring.devtools.add-properties= false spring.security.user.name=qiuxie spring.security.user.password=E13301455191qiuxie spring.security.basic.enable= true |
代码部分
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | package com.eureka.config; import org.springframework.context.annotation.Configuration; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.http.SessionCreationPolicy; @Configuration @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.NEVER); http.csrf().disable(); //注意:为了可以使用 http://${user}:${password}@${host}:${port}/eureka/ 这种方式登录,所以必须是httpBasic, // 如果是form方式,不能使用url格式登录 http.authorizeRequests().anyRequest().authenticated().and().httpBasic(); } } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | package com.eureka; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; /** * @author yourheart * @Description * @create 2022-04-20 21:17 */ @SpringBootApplication @EnableEurekaServer public class EurekaApplication { public static void main(String[] args) { SpringApplication.run(EurekaApplication. class ,args); } } |
项目结构展示
客户端配置为
1 2 3 4 | eureka.client.serviceUrl.defaultZone=http: //${spring.security.user.name}:${spring.security.user.password}@192.168.31.60:8763/eureka/,http://${spring.security.user.name}:${spring.security.user.password}@192.168.31.50:8764/eureka/ spring.security.user.name=aa spring.security.user.password= 123456 |
如果存在报错"c.n.e.cluster.ReplicationTaskProcessor : It seems to be a socket read timeout exception, it will retry later. if it continues to happen and some eureka node occupied all the cpu time, you should set property 'eureka.server.peer-node-read-timeout-ms' to a bigger value"
可以考虑配置文件application.properties中添加
1 | eureka.server.peer-node-read-timeout-ms= 10000 |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异