Spring Cloud 学习(三):Eureka服务注册、Eureka集群搭建、Eureka与 Zookeeper比较

骑猪看日落 2022-10-24 11:54 224阅读 0赞

文章目录

  • 一、Eureka
    • 1、新建子模块springcloud-eureka-7001并导入依赖
    • 2、修改配置
    • 3、创建启动类
    • 4、访问 http://localhost:7001/
  • 二、Eureka服务注册
    • 1、在提供者添加eureka依赖
    • 2、添加配置
    • 3、在启动类开启eureka
    • 4、测试
    • 5、配置信息
  • 三、Eureka集群
    • 1、新建两个子模块
    • 2、修改7001的配置并复制一份到7002
    • 3、复制依赖
    • 4、启动类
    • 5、另外一个7003也是按7002的步骤
    • 6、关联集群配置
    • 7、提供者往集群发布
    • 8、测试
  • 四、CAP原则,Eureka与 Zookeeper比较

一、Eureka

https://mvnrepository.com/search?q=spring-cloud-starter+eureka

什么是Eureka?
在这里插入图片描述

1、新建子模块springcloud-eureka-7001并导入依赖

在这里插入图片描述

  1. <dependencies>
  2. <!-- eureka-server -->
  3. <dependency>
  4. <groupId>org.springframework.cloud</groupId>
  5. <artifactId>spring-cloud-starter-eureka-server</artifactId>
  6. <version>1.4.6.RELEASE</version>
  7. </dependency>
  8. <!-- 热部署 -->
  9. <dependency>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-devtools</artifactId>
  12. </dependency>
  13. </dependencies>

2、修改配置

在这里插入图片描述

  1. server:
  2. port: 7001
  3. #Eureka配置
  4. eureka:
  5. instance:
  6. hostname: localhost #Eureka服务端的实例名称
  7. client:
  8. register-with-eureka: false
  9. #表示是否向eureka注册中心注册自己
  10. fetch-registry: false #fetch-registry如果为false,则表示自己为注册中心
  11. service-url: #监控页面~
  12. defaultZone: http://${ eureka.instance.hostname}:${ server.port}/eureka/

3、创建启动类

在这里插入图片描述

  1. import org.springframework.boot.SpringApplication;
  2. import org.springframework.boot.autoconfigure.SpringBootApplication;
  3. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  4. @SpringBootApplication
  5. @EnableEurekaServer
  6. public class EurekaServer_7001 {
  7. public static void main(String[] args) {
  8. SpringApplication.run(EurekaServer_7001.class,args);
  9. }
  10. }

4、访问 http://localhost:7001/

在这里插入图片描述

二、Eureka服务注册

1、在提供者添加eureka依赖

在这里插入图片描述

2、添加配置

在这里插入图片描述

  1. # eureka 配置
  2. eureka:
  3. client:
  4. service-url:
  5. defaultZone: http://localhost:7001/eureka/
  6. instance:
  7. instance-id: springcloud-provider-dept8001 # 修改eureka上的默认描述信息

3、在启动类开启eureka

在这里插入图片描述

  1. @EnableEurekaClient //在服务启动后自动注册到Eureka中!

4、测试

依次启动 EurekaServer_7001、DeptProvider_8001
访问:http://localhost:7001/
在这里插入图片描述
说明已经将服务注册进来

5、配置信息

未配信息前
在这里插入图片描述

在这里插入图片描述
1)添加依赖:
在这里插入图片描述

  1. <!-- 监控信息 -->
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-actuator</artifactId>
  5. </dependency>

2)配置:

在这里插入图片描述

  1. # info 配置
  2. info:
  3. app.name: xiaol-springcloud
  4. company.name: blog.xiaol.com

3)重新依次启动 EurekaServer_7001、DeptProvider_8001
在这里插入图片描述
信息已变化
在这里插入图片描述

三、Eureka集群

为了模拟多台服务器,修改下本地地址映射

路径:在这里插入图片描述
修改映射并保存:
在这里插入图片描述

1、新建两个子模块

在这里插入图片描述

2、修改7001的配置并复制一份到7002

先修改7001配置
在这里插入图片描述

再复制到7002的配置,然后修改:
在这里插入图片描述

3、复制依赖

在这里插入图片描述

4、启动类

在这里插入图片描述

5、另外一个7003也是按7002的步骤

6、关联集群配置

在这里插入图片描述

  1. defaultZone: http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/

7001:
在这里插入图片描述

7002:
在这里插入图片描述

7003:
在这里插入图片描述

7、提供者往集群发布

修改 springcloud-provider-dept-8001 的配置
在这里插入图片描述

  1. # eureka 配置
  2. eureka:
  3. client:
  4. service-url:
  5. defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
  6. instance:
  7. instance-id: springcloud-provider-dept8001 # 修改eureka上的默认描述信息

8、测试

依次启动
在这里插入图片描述
访问:http://eureka7001.com:7001/
在这里插入图片描述

访问:http://eureka7002.com:7002/

在这里插入图片描述

访问:http://eureka7003.com:7003/
在这里插入图片描述
可见,三个地址都能拿到资源。这样,即使三个其中的一个断开,其他两个也能继续使用。

四、CAP原则,Eureka与 Zookeeper比较

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


点我前往《SpringCloud专栏》
项目地址:关注公众号【小L星光】,回复【springcloud示例】即可获取。

在这里插入图片描述

发表评论

表情:
评论列表 (有 0 条评论,224人围观)

还没有评论,来说两句吧...

相关阅读