学习spring的最终是为了快速搭建服务,在服务框架不断发展的终点,是分布式服务。
分布式服务的核心功能
- 分布式/版本配置
- 服务注册与发现
- 路由:
- 服务端调用
- 负载均衡
- Circuit Breakers:断路器
- 全局锁
- 选举和集群管理
- 分布式消息
云服务的几大基础组件:
- 服务注册与发现
- 路由
- 负载均衡
- 断路器
上面的4个组件基本上就能实现了云服务的基础功能。我们以Spring-cloud-netflix-eureka为例一起学习一下Spring-cloud的功能和使用。首先我们尝试搭建一个eureka-sever。
如果自己用idea创建maven工程,需要修改maven依赖:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
根据上面的依赖,在SpringApplication启动类添加SpringBootApplication 和 EnableEurekaServer注解,就可以启动一个eureka服务
然后再搭建一个eureka-client服务。
修改maven依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
在启动类上添加SpringBootApplication注解,就能默认启动一个Eureka-client服务