springcloud-eureka服务注册中心

朱雀 2022-04-03 08:18 499阅读 0赞

用一张图来认识以下:

20181221115534792

上图简要描述了Eureka的基本架构,由3个角色组成:

1、Eureka Server 提供服务注册和发现
2、Service Provider 服务提供方 将自身服务注册到Eureka,从而使服务消费方能够找到
3、Service Consumer 服务消费方 从Eureka获取注册服务列表,从而能够消费服务

案例:

1 在pom.xml文件引入依赖jar包

  1. <dependency>
  2. <groupId>org.springframework.cloud</groupId>
  3. <artifactId>spring-cloud-starter</artifactId>
  4. <version>2.0.2.RELEASE</version>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.cloud</groupId>
  8. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  9. <version>2.0.2.RELEASE</version>
  10. </dependency>

2 配置文件

  1. spring.application.name=spring-cloud-eureka
  2. server.port=8000
  3. eureka.client.register-with-eureka=false
  4. eureka.client.fetch-registry=false
  5. eureka.client.serviceUrl.defaultZone=http://localhost:${server.port}/eureka/

eureka.client.register-with-eureka :表示是否将自己注册到Eureka Server,默认为true。
eureka.client.fetch-registry :表示是否从Eureka Server获取注册信息,默认为true。
eureka.client.serviceUrl.defaultZone :设置与Eureka Server交互的地址,查询服务和注册服务都需要依赖这个地址。默认是http://localhost:8761/eureka ;多个地址可使用 , 分隔。

3 在启动类添加@EnableEurekaServer注解

  1. @SpringBootApplication
  2. @EnableEurekaServer
  3. public class DemoApplication {
  4. public static void main(String[] args) {
  5. SpringApplication.run(DemoApplication.class, args);
  6. }
  7. }

启动工程后,访问:http://localhost:8000/,可以看到下面的页面,其中还没有发现任何服务

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjkzODI4_size_16_color_FFFFFF_t_70

集群注册中心:

eureka-server作为服务注册中心,若发生故障会导致严重事故。在实际中可能需要多台服务注册中心确保服务高可用

1 配置文件application.yml如下:

  1. ---
  2. spring:
  3. application:
  4. name: spring-cloud-eureka
  5. profiles: peer1
  6. server:
  7. port: 8000
  8. eureka:
  9. instance:
  10. hostname: peer1
  11. client:
  12. serviceUrl:
  13. defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/
  14. ---
  15. spring:
  16. application:
  17. name: spring-cloud-eureka
  18. profiles: peer2
  19. server:
  20. port: 8001
  21. eureka:
  22. instance:
  23. hostname: peer2
  24. client:
  25. serviceUrl:
  26. defaultZone: http://peer1:8000/eureka/,http://peer3:8002/eureka/
  27. ---
  28. spring:
  29. application:
  30. name: spring-cloud-eureka
  31. profiles: peer3
  32. server:
  33. port: 8002
  34. eureka:
  35. instance:
  36. hostname: peer3
  37. client:
  38. serviceUrl:
  39. defaultZone: http://peer1:8000/eureka/,http://peer2:8001/eureka/

2 配置C:\Windows\System32\drivers\etc下的hosts文件:

127.0.0.1 peer1
127.0.0.1 peer2
127.0.0.1 peer3

3 将项目打成jar包 依次运行

java -jar demo-0.0.1-SNAPSHOT.jar —spring.profiles.active=peer1
java -jar demo-0.0.1-SNAPSHOT.jar —spring.profiles.active=peer2
java -jar demo-0.0.1-SNAPSHOT.jar —spring.profiles.active=peer3

4 访问:http://localhost:8001/

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjkzODI4_size_16_color_FFFFFF_t_70 1

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQwNjkzODI4_size_16_color_FFFFFF_t_70 2

发表评论

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

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

相关阅读