spring cloud 学习笔记
spring cloud 的作用
spring cloud可以为开发人员提供快速构建分布式系统应用的一些通用模式,例如:服务注册与发现、配置管理、断路器、智能路由、控制总线、微代理、一次性令牌、全局锁等等;
spring cloud注册中心eureka server
eureka server是用于服务发现,
maven pom.xml
关键片段
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Edgware.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka-server</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Eureka的 region 和 zone的区别
region的范围大于zone,region和region之间是隔离的,一般场景有:中国区域(region cn)和美国区域(region na),默认不会自动进行跨区域数据传输。
zone与zone之间是可以互访的。
Eureka 心跳监测机制
Eureka server和Eureka client启动后,Eureka server的服务注册表(register_table)中记录可用的Eureka client。
Eureka client 间隔(默认90秒)向Eureka server发送心跳,如果Eureka server在N个周期内都没有收到某client的心跳,则将该client从服务注册表(register_table)中移除,并通过复制的方式,与其他Eureka server完成数据同步。