欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Spring Cloud之Eureka集群

程序员文章站 2022-06-12 16:09:41
...

创建Maven工程

用maven工程来测试Eureka的集群环境
Spring Cloud之Eureka集群
在maven项目下新建module-spring boot项目
引入web、eureka server依赖

Spring Cloud之Eureka集群
下面操作是在win10环境下,在C:\Windows\System32\drivers\etc目录下,修改hosts文件,增加下面两行内容,用于主机名的映射

127.0.0.1 peer1
127.0.0.1 peer2

如果目录下面没有此文件,按下图操作
Spring Cloud之Eureka集群
Spring Cloud之Eureka集群
文件夹下刷新一下,就会有了,如果还找不到,右键开始按钮,选择搜索,输入cmd,找到命令提示符,以管理员的身份执行
Spring Cloud之Eureka集群
复制以下内容,右键粘贴到命令提示符窗口中,按下enter

for /f %P in ('dir %windir%\WinSxS\hosts /b /s') do copy %P %windir%\System32\drivers\etc & echo %P & Notepad %P

就能生成hosts文件了

Eureka基本配置

接下来我们在启动类中配置自动开启eureka服务注解

package com.zhouym.eurekaconsumer;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;

@SpringBootApplication
@EnableEurekaServer //自动开启eureka服务
public class EurekaconsumerApplication {

    public static void main(String[] args) {
        SpringApplication.run(EurekaconsumerApplication.class, args);
    }

}

复制两个application.properties文件,内容如下

eureka.client.register-with-eureka=true
spring.application.name=eureka
server.port=1111  //eureka的服务端口,默认端口是8761
eureka.instance.hostname=peer1 //就是前面你在hosts文件中配置的主机名
#将peer1服务注册到peer2注册中心上
eureka.client.service-url.defaultZone=http://peer2:1112/eureka

eureka.client.register-with-eureka=true
spring.application.name=eureka
server.port=1112
eureka.instance.hostname=peer2 
#将peer2服务注册到peer1注册中心上去
eureka.client.service-url.defaultZone=http://peer1:1111/eureka

好了,以上eureka的集群服务就搭好了,我们执行打包
Spring Cloud之Eureka集群
进入idea的控制台,执行如下两条命令,表示开启eureka两个实例

E:\IDEA_WorkSpace\cloud\eurekaconsumer\target>java -jar eurekaconsumer-0.0.1-SNAPSHOT.jar --spring.profiles.active=pee
r1
E:\IDEA_WorkSpace\cloud\eurekaconsumer\target>java -jar eurekaconsumer-0.0.1-SNAPSHOT.jar --spring.profiles.active=pee
r2

输入http://localhost:1111,访问peer1的服务
Spring Cloud之Eureka集群
输入http://localhost:1112,访问peer2的服务
Spring Cloud之Eureka集群
从eureka的服务后台页面可以发现,DS Replicas中的信息表示副本,意思就是服务器,从哪里同步数据
Instances currently registered with Eureka表示有多少服务注册到了这个服务注册中心上面来