一。服务发现
1.添加依赖:
eureka中,作为服务注册到注册中心的依赖是不一样的。需要添加如下依赖:
org.springframework.cloud spring-cloud-starter-netflix-eureka-client它是一个服务发现的包,我们依靠它把当前的Spring Boot模块注册到Eureka服务治理中心。
2.配置application.yml文件
spring: application: name: usereureka: client: service-url: # 注册到那个注册中心 defaultZone : http://localhost:8080/eureka/# 下面两个默认都是true,所以当需要为true,写不写无所谓 fetch-registry: true register-with-eureka: trueserver: port: 8081配置说明:
eureka.client.serviceUrl.defaultZone:它是一个URL,指向了配置的Eureka服务治理中心。也就是说,这里的实例将通过对这个URL进行请求,将自己的实例信息发送给Eureka服务治理中心。
3.启动类
package com.jsdyg.user;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@SpringBootApplication//下面注解可写可不写,都没有问题@EnableDiscoveryClientpublic class UserApplication { public static void main(String[] args) { SpringApplication.run(UserApplication.class, args); }}4.启动启动类
启动成功后如下:

二。一个服务注册多个
由于我用的intellij,可以很方便启动多个服务。
第一步:
在启动了一个user服务的情况下,修改端口号即可。
第二步:
如下勾选就可以了,这样就是可以启动多个user服务了。

第三步:
启动启动类就可以。再查看注册中心。如下:

可以看已经启动了两个user服务。这样就可以保证user的高可用和高性能。
三。配置多个注册中心
当只有一个注册中心时,如果注册中心出现问题,使用服务都会将停止服务,这样还是存在单体应用的单点故障问题,所以需要配置多个来避免单点问题。下面将会启动多个服务。
修改配置
对于注册中心:
- 修改端口:新的注册中心需要新的端口- 由于有多个注册中心,所以需要注册到其他注册中心,所以register-with-eureka要为true- service-url要配置到自己需要注册的注册中心,多个用逗号分开修改后的配置文件:
spring: application:# 相同功能的服务,不需要改名 name: eureka-servereureka: client:# register-with-eureka 需要改为true register-with-eureka: true fetch-registry: false service-url:# 注册到多个注册中心 defaultZone: http://127.0.0.1:8080/eureka/,http://127.0.0.1:8083/eureka/ instance: hostname: 127.0.0.1server:# 选择需要的端口启动 port: 8083# port: 8080注意:
刚启动一个注册中心时,会有报错信息如下:
com.sun.jersey.api.client.ClientHandlerException: org.apache.http.conn.ConnectTimeoutException: Connect to 127.0.0.1:8083 timed outat com.sun.jersey.client.apache4.ApacheHttpClient4Handler.handle(ApacheHttpClient4Handler.java:187) ~[jersey-apache-client4-1.19.1.jar:1.19.1]原因是找不到另一个注册中心,先暂时不用管,当你启动另一个注册中心时,报错信息就会消失了。
启动后:

另一个更换端口就可以看到了,这样就启动了两个注册中心了。
接下来就需要改造user服务了。
user服务
- 只需要配置多个注册中心即可配置文件如下:
spring: application: name: usereureka: client: service-url:# 配置多个注册中心 defaultZone : http://localhost:8080/eureka/,http://localhost:8083/eureka/ fetch-registry: true register-with-eureka: trueserver:# port: 8081 port: 8082然后启动即可。
欢迎转载,转载请标明地址。
欢迎关注公众号:java情报局
获取最新更新

个人微信号:

版权声明:本文为weixin_42514394原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。