当前位置:   article > 正文

SpringCloud系列(10)--Eureka集群原理及搭建_eureka 集群

eureka 集群

前言:当注册中心只有一个,而且当这个注册中心宕机了,就会导致整个服务环境不可用,所以我们需要搭建Eureka注册中心集群来实现负载均衡+故障容错

Eureka架构原理图

1、Eureka集群原理

2、创建Eureka Server端服务注册中心模块
(1)在父工程下新建模块

(2)选择模块的项目类型为Maven并选择模块要使用的JDK版本
(3)填写子模块的名称,然后点完成即可完成创建 

效果图:

(4)修改eureka-server7002子模块的pom.xml文件,然后reolad一下,下载依赖

例:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <parent>
  6. <artifactId>springcloud01</artifactId>
  7. <groupId>com.ken.springcloud</groupId>
  8. <version>1.0-SNAPSHOT</version>
  9. </parent>
  10. <modelVersion>4.0.0</modelVersion>
  11. <artifactId>eureka-server7002</artifactId>
  12. <dependencies>
  13. <!--以下依赖都没写版本号,没写版本号的情况下会引用父项目的版本-->
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-web</artifactId>
  17. </dependency>
  18. <!--监控-->
  19. <dependency>
  20. <groupId>org.springframework.boot</groupId>
  21. <artifactId>spring-boot-starter-actuator</artifactId>
  22. </dependency>
  23. <!--热部署-->
  24. <dependency>
  25. <groupId>org.springframework.boot</groupId>
  26. <artifactId>spring-boot-devtools</artifactId>
  27. <scope>runtime</scope>
  28. <optional>true</optional>
  29. </dependency>
  30. <!--lombok插件-->
  31. <dependency>
  32. <groupId>org.projectlombok</groupId>
  33. <artifactId>lombok</artifactId>
  34. <optional>true</optional>
  35. </dependency>
  36. <dependency>
  37. <groupId>org.springframework.boot</groupId>
  38. <artifactId>spring-boot-starter-test</artifactId>
  39. <scope>test</scope>
  40. </dependency>
  41. <!--引入自己定义的api调用包,可以使用Payment模块的entity-->
  42. <dependency>
  43. <groupId>com.ken.springcloud</groupId>
  44. <artifactId>api-commons</artifactId>
  45. <version>${project.version}</version>
  46. </dependency>
  47. <!--Eureka Server-->
  48. <dependency>
  49. <groupId>org.springframework.cloud</groupId>
  50. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  51. </dependency>
  52. </dependencies>
  53. </project>

3、为子模块添加名为application的yml配置文件(注:yml是官方推荐的配置文件格式,最好使用yml文件而不是properties文件)

效果图:


如果application.yml不是绿色的,而是红色的,可以尝试install当前Maven工程,如果还不行可以尝试清除Idea的缓存

 


4、修改hosts文件,将映射配置进hosts文件里
(1)进入C:\Windows\System32\drivers\etc文件夹,找到hosts文件

(2)修改hosts文件,添加以下映射
  1. 127.0.0.1 eureka7001.com
  2. 127.0.0.1 eureka7002.com

效果图: 

5、分别修改eureka-server7001模块和eureka-server7002模块的application.yml配置文件
(1)修改eureka-server7001的yml配置
  1. server:
  2. port: 7001
  3. eureka:
  4. instance:
  5. #eureka服务端的实例名称
  6. hostname: eureka7001.com
  7. client:
  8. #false表示不向服务中心注册自己
  9. register-with-eureka: false
  10. #false表示自己端就是注册中心,只需要维护服务实例,并不需要检索服务
  11. fetch-registry: false
  12. service-url:
  13. #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址
  14. defaultZone: http://eureka7002.com:7002/eureka/

效果图:

(2)修改eureka-server7002的yml配置
  1. server:
  2. port: 7002
  3. eureka:
  4. instance:
  5. #eureka服务端的实例名称
  6. hostname: eureka7002.com
  7. client:
  8. #false表示不向服务中心注册自己
  9. register-with-eureka: false
  10. #false表示自己端就是注册中心,只需要维护服务实例,并不需要检索服务
  11. fetch-registry: false
  12. service-url:
  13. #设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址
  14. defaultZone: http://eureka7001.com:7001/eureka/

效果图:

6、为eureka-server7002子模块新建一个主启动类,类名输入com.ken.springcloud.EurekaMain,然后创建即可

 效果图:

7、编写为eureka-server7002子模块的主启动类
  1. package om.ken.springcloud;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;
  5. @SpringBootApplication
  6. //标注为Eureka Server(服务注册中心)
  7. @EnableEurekaServer
  8. public class EurekaMain {
  9. public static void main(String[] args) {
  10. SpringApplication.run(EurekaMain.class, args);
  11. }
  12. }

效果图:

8、分别启动eureka-server7001子模块和eureka-server7002子模块,然后分别进入http://localhost:7001/http://localhost:7002/或者分别进入http://eureka7001.com:7001/http://eureka7002.com:7002/查看是否成功相互注册,进入页面后如果发现互相注册对方,则证明eureka集群搭建成功

eureka7001的效果图:

从图里可以看到eureka7001里注册了eureka7002

或者 

eureka7002的效果图:

从图里可以看到eureka7002里注册了eureka7001

 或者

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/989122
推荐阅读
相关标签
  

闽ICP备14008679号