购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

4.5 将微服务注册到Eureka Server上

本节将之前编写的用户微服务注册到Eureka Server上。

1.复制项目microservice-simple-provider-user,将ArtifactId修改为microservice-provider-user。

2.在pom.xml中添加以下依赖。

img

3.在配置文件application.yml中添加以下配置。

img

其中,spring.application.name用于指定注册到Eureka Server上的应用名称;eureka.instance.prefer-ip-address=true表示将自己的IP注册到Eureka Server。若不配置该属性或将其设置为false,则表示注册微服务所在操作系统的hostname到Eureka Server。

4.编写启动类。

img

这样即可将用户微服务注册到EurekaServer上。同理,将电影微服务也注册到Eureka Server上,配置电影微服务的spring.application.name为microservice-consumer-movie,详见本书配套代码中的microservice-consumer-movie项目。

img

测试

1.启动microservice-discovery-eureka。

2.启动microservice-provider-user。

3.启动microservice-consumer-movie。

4.访问 http://localhost:8761/ ,可看到如图4-5的界面。

img

图4-5 Eureka Server上的微服务列表

由图可知,此时用户微服务、电影微服务已经被注册到Eureka Server上了。

img

●在Spring Cloud Edgware之前,要想将微服务注册到Eureka Server或其他服务发现组件上, 必须 在启动类上添加@EnableEurekaClient或@EnableDiscoveryClient。

●在SpringCloud Edgware以及更高版本中, 只需添加相关依赖,即可自动注册 。这是由于在实际项目中,我们可能希望实现“不同环境不同配置”的效果,例如:在开发环境中,不注册到EurekaServer上,而是服务提供者、服务消费者直连,便于调测;在生产环境中,我们又希望能够享受服务发现的优势——服务消费者无须知道服务提供者的绝对地址。为适应该需求,Spring Cloud Commons进行了改进,相关Issue: https://github.com/springcloud/spring-cloud-commons/issues/218 .

若不想将服务注册到 EurekaServer,只需设置spring.cloud.service-registry.auto-regist ration.enabled=false,或@EnableDiscoveryClient(auto-Register=false)即可。 RQ9HbiLHIXZEP+T4A71d1G64qnFCBTZ9dSVteId+e2/2nVjOSbys8DO7WSf0/E62

点击中间区域
呼出菜单
上一章
目录
下一章
×