SpringCloud
雪崩效应:
雪崩效应的解决办法:断路器(circuit Breqkers)
分布式的配置中心:
加入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
@EnableConfigServer:启用分布式配置中心 读取远程git仓库获取配置
所有spring的配置中心的配置文件都有以下几种格式组成
* 1.配置文件属于哪个应用的(application)
* 2.配置文件属于哪个阶段(profile) 开发阶段 测试阶段 产品阶段
* 3.在git仓库中哪个分支下(label)
在服务端获取git上的数据源(application.properties)
spring.cloud.config.server.git.uri=https://github.com/RayaCL/confiServer
server.port=8089
分布式配置中心的客户端配置
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR4</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
</dependencies>
在客户端创建bootstrap.properties链接数据源
spring.cloud.config.uri=http://localhost:8089
spring.application.name=jdbc
spring.profiles.active=dev
获取数据源
package cn.et;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import com.alibaba.druid.pool.DruidDataSource;
@Configuration
public class Config {
@Value("${password}")
private String password;
@Value("${driverClass}")
private String driverClass;
@Value("${url}")
private String url;
@Value("${username1}")
private String username1;
@Bean
public DataSource myDataSource(){
DruidDataSource dds=new DruidDataSource();
dds.setUrl(url);
dds.setDriverClassName(driverClass);
dds.setUsername(username1);
dds.setPassword(password);
return dds;
}
}