1.Spring Cloud Eureka
1.基于Netfilx Eureka做了二次封装
2.由两个组件组成:
Eureka Server 注册中心:健康检查,心跳检测。
Eureka Client 服务注册:简化与服务器的交互。负载均衡。
3.客户端发现:Eureka
服务端发现:Nginx,Zookeeper,kubernetes
4.微服务特点异构:不同语言,不同数据库
5.服务拆分方法论:水平复制,数据分区,功能解耦
2.Eureka Server
记录所有应用信息的状态,是Eureka Server同时也是Eureka Client。
1.导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
2.主类上加注解@EnableEurekaServer
3.配置yml
eureka:
client:
service-url:
defaultZone: http://localhost:8762/eureka/ #注册地址
register-with-eureka: false #是否向注册中心注册自己
server:
enable-self-preservation: false #关闭自我保护机制
spring:
application:
name: eureka
3.Eureka Client
1.导入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2.启动类上加@EnableDiscoveryClient
3.配置yml
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/ #注册地址
instance:
hostname: clientName #应用别名
spring:
application:
name: client #应用名字
4.Eureka的高可用
1.三个Eureka Server之间互相注册
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/
2.Eureka Client向三个Eureka Server注册
eureka:
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/