- Eureka
- 类似zokeerper的功能.提供服务注册中心来管理微服务信息.
- 用处:
- 1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和
端口。 - 2、微服务会实时上报自己的状态,注册中心统一管理这些微服务的状态,将存在问题的服务踢出服务列表,客户
端获取到可用的服务进行调用。
- 1、微服务数量众多,要进行远程调用就需要知道服务端的ip地址和端口,注册中心帮助我们管理这些服务的ip和
- Eureka提供服务端与客户端,服务端即是Eureka服务注册中心,客户端完成微服务向Eureka服务的注册与发现。
- 添加maven依赖
-
<!‐‐ 父工程导入服务的依赖 ‐‐> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring‐cloud‐dependencies</artifactId> <version>Finchley.SR1</version> <type>pom</type> <scope>import</scope> </dependency> <!‐‐ Eureka Server工程 ‐‐> <dependencies> <!‐‐ 导入Eureka服务的依赖 ‐‐> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring‐cloud‐starter‐netflix‐eureka‐server</artifactId> </dependency> </dependencies>
- 在eureka server工程的启动类上面添加注解
-
@EnableEurekaServer//标识这是一个Eureka服务
- .yml文件配置
server:
port: 8761 #服务端口
spring:
application:
name: my-test #指定服务名
eureka:
client:
registerWithEureka: false #服务注册,是否将自己注册到Eureka服务中
fetchRegistry: false #服务发现,是否从Eureka中获取注册信息
serviceUrl: #Eureka客户端与Eureka服务端的交互地址,高可用状态配置对方的地址,单机状态配置自己(如果
不配置则默认本机8761端口)
defaultZone: http://localhost:8761/eureka/
server:
enable‐self‐preservation: false #是否开启自我保护模式
eviction‐interval‐timer‐in‐ms: 60000 #服务注册表清理间隔(单位毫秒,默认是60*1000)
- 服务启动直接就访问你 eureka配置文件的端口,就能看见eureka的系统页面
- 页面会有红色的比较醒目的提示字体.
THE SELF PRESERVATION MODE IS TURNED OFF.THIS MAY NOT PROTECT INSTANCE EXPIRY IN CASE OF
NETWORK/OTHER PROBLEMS.
自我保护模式被关闭。在网络或其他问题的情况下可能不会保护实例失效- Eureka Server有一种自我保护模式,当微服务不再向Eureka Server上报状态,Eureka Server会从服务列表将此
服务删除,如果出现网络异常情况(微服务正常),此时Eureka server进入自保护模式,不再将微服务从服务列
表删除。
在开发阶段建议关闭自保护模式.
- Eureka Server有一种自我保护模式,当微服务不再向Eureka Server上报状态,Eureka Server会从服务列表将此
- 集群的话:
- 就把上面的registerWithEureka 设置为true
- defaultZone:配置成你启动的另一个eureka服务ip加端口就可以了.如果多个地址 可以使用逗号隔开
- 两个都要配置成对方的,互相注册.
- yml文件本地服务支持tab键,但是服务器环境可能会发生异常.所以最好用两个空格.