SpringCloud主要功能
SpringCloud版本号
SpringCloud版本号采用单词而不是数字的设计的目的是为了更好的管理每个SpringCloud子项目的清单,避免自己的版本号与子项目的版本号混淆。
它采用伦敦地铁站的名称,ABCD等等。例如GreenWich。字母越大版本号越大。
SR为正式版本。有SR1-SR2-SR3等等。
服务注册与发现
服务注册中心Eureka
在AWS上定位服务的REST服务。
在父工程添加
<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>
声明@EnableEurekaServer
启动一个Eureka服务
添加配置
server.port=8761 #端口随意
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
使用注解@EnableDiscoveryClient
或@EnableEurekaClient
然后配置Eureka服务的ip和端口
应用名称及配置中心配置
我们可以利用BootStrap属性。来配置应用名的信息。
LoadBalanced
该注解可以让我们的restTemplate提供负载均衡的能力。
原理:应用在启动时会给带有@LoadBalanced
注解的restTemplate带上一个拦截器。拦截器的作用就是对请求的URI进行转换获取到具体应该请求哪个服务实例ServiceInstance。其中用到了@Qualifier
注解。如果@Qulifier,不指定value,则就是注入@Bean标有@Qualifier的对象。
LoadBalanced的理解
使用Ribbon进行负载均衡配置
服务注册中心ZK
1.首先先安装Zookeeper
2.服务提供端配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zookeeper-discovery</artifactId>
</dependency>
使用@EnableDiscoveryClient
注释我们的主类
然后配置一些zkip地址端口等信息
3.客户端配置同上多加一个
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
提醒一下 ZK并不适合多机房部署。
Feign
在Spring Cloud Feign的实现下,我们只需创建一个接口并用注解的方式来配置它,即可完成对服务提供方的接口绑定,简化了在使用Spring Cloud Ribbon时自行封装服务调用客户端的开发量。
Fegin使用详解
暂停未完成 -
锦鲤护体!!!!!!心想事成!!!