当前位置:   article > 正文

特别详细的Spring Cloud 系列教程1:服务注册中心Eureka的启动_eureka本地启动

eureka本地启动

Eureka已经被Spring Cloud继承在其子项目spring-cloud-netflix中,搭建Eureka Server的方式还是非常简单的。只需要通过一个独立的maven工程即可搭建Eureka Server。 

我们引入spring cloud的依赖和eureka的依赖。

  1. <dependencyManagement>
  2. <!-- spring cloud版本-->
  3. <dependencies>
  4. <dependency>
  5. <groupId>org.springframework.cloud</groupId>
  6. <artifactId>spring-cloud-dependencies</artifactId>
  7. <version>Greenwich.SR6</version>
  8. <type>pom</type>
  9. <scope>import</scope>
  10. </dependency>
  11. </dependencies>
  12. </dependencyManagement>
  13. <dependencies>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-web</artifactId>
  17. </dependency>
  18. <dependency>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-starter-test</artifactId>
  21. <scope>test</scope>
  22. </dependency>
  23. <!-- spring cloud Eureka Server 启动器 -->
  24. <dependency>
  25. <groupId>org.springframework.cloud</groupId>
  26. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  27. </dependency>
  28. </dependencies>

注意spring cloud和springboot的版本要对应,不然容易出现各种奇怪的错误。

不知道springboot和springcloud的版本对应关系的话,可以去spring官网查看 Spring Cloud

在application.yml里设置配置信息(如果你是application.properties,可以把application.properties修改为application.yml)

  1. spring:
  2. application:
  3. name: eureka-server
  4. server:
  5. #指定服务端口
  6. port: 8761
  7. eureka:
  8. #指定主机名称
  9. instance:
  10. hostname: localhost
  11. #server一定程度上也是client,互为client,
  12. client:
  13. #由于自己就是服务器,不需要注册到自己
  14. register-with-eureka: false
  15. #由于自己就是服务器,不需要从服务器获取注册信息
  16. fetch-registry: false
  17. #服务地址
  18. service-url:
  19. defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/

加入@EnableEurekaServer注解

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

 启动应用,在浏览器输入http://localhost:8761/

在application这个区域可以看到我们暂时没有应用注册到我们的eureka服务注册中心

至此,eureka的服务端就搭建好了。接下来,另起一个项目,我们把它叫为producer。

在producer的pom文件里,我们加上以下依赖:

  1. <dependencies>
  2. <dependency>
  3. <groupId>org.springframework.boot</groupId>
  4. <artifactId>spring-boot-starter-web</artifactId>
  5. </dependency>
  6. <dependency>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter-test</artifactId>
  9. <scope>test</scope>
  10. </dependency>
  11. <!-- spring cloud Eureka Client -->
  12. <dependency>
  13. <groupId>org.springframework.cloud</groupId>
  14. <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
  15. </dependency>
  16. </dependencies>

唯一的区别就是将eureka server的依赖换成eureka client的依赖。 

这是producer的yml文件。

  1. server:
  2. port: 8081
  3. eureka:
  4. client:
  5. registerWithEureka: true #服务注册开关
  6. fetchRegistry: true #服务发现开关
  7. serviceUrl: #Eureka服务端进行交互的地址,多个中间用逗号分隔,EUREKA_SERVER是我们设置的属性名,冒号:代表如果找不到属性,则后面的内容为默认值
  8. defaultZone: ${EUREKA_SERVER:http://localhost:8761/eureka/}
  9. instance:
  10. hostname: producer-service #实例名称
  11. prefer-ip-address: true #将自己的ip地址注册到Eureka服务中
  12. ip-address: ${IP_ADDRESS:127.0.0.1}
  13. instance-id: ${spring.application.name:producer}:${server.port} #指定实例id

这是producer的代码,主要是加上了@EnableDiscoveryClient注解,表明这是一个eureka client端,它需要根据我们给它设置的配置信息,找到eureka server端的地址,向它发起注册。

  1. @SpringBootApplication
  2. @EnableDiscoveryClient
  3. @RestController
  4. public class ProducerApplication {
  5. public static void main(String[] args) {
  6. SpringApplication.run(ProducerApplication.class, args);
  7. }
  8. @GetMapping("goods")
  9. public String generate(){
  10. return "goods";
  11. }
  12. }

启动应用。刷新localhost:8761,可以看到信息改变了。

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

闽ICP备14008679号