springboot项目的集中化配置与熔断机制

一、集中化配置

集中化配置的优点这些大家可以上网查一查,在这里我只说如何实现。

步骤1(Server):

  1. 引入依赖
       <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-server</artifactId>
            <version>2.0.0.M8</version>
        </dependency>
  1. 启动类加上@EnableConfigServer
  2. 配置application.properties:
//配置github仓库的路径
spring.cloud.config.server.git.uri=https://github.com/waylau/spring-cloud-microservices-development   
//仓库下的具体包名
spring.cloud.config.server.git.searchPaths=config-repo

步骤2(Client):

  1. 引入依赖:
      <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-config-client</artifactId>
            <version>2.0.0.M8</version>
        </dependency>
  1. 启动类不用加注解
  2. 修改.properties:
spring.cloud.config.profile=dev    //指定生产环境
spring.cloud.config.uri=http://localhost:8888/     //server端的url
  • 命名规则springboot项目的集中化配置与熔断机制_第1张图片

二、熔断机制

原理:springboot项目的集中化配置与熔断机制_第2张图片
springboot项目的集中化配置与熔断机制_第3张图片

集成 Hystrix:

  • 引入依赖:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
            <version>2.0.0.M8</version>
        </dependency>
  • 启动类加注解@EnableCircuitBreaker
  • 在需要进行熔断的controller内的方法上加注解:
@HystrixCommand(fallbackMethod = "自定义的方面名称")    //可以自定义个处理方法
public String XXX(){
	return "XXX";
}
  • 其实Feign客户端以及内嵌了Hystrix的fallback,只需如下:
@FeignClient(name = "注册到服务器中的实例名称",fallback=自定义类.class)
public interface XXX {

	@GetMapping("/实例对应的子项目下的接口")
	String XXX();
}
  • 需要创建这个自定义的类:
@Component
public class 自定义类 implements XXX {    //实现上面的接口

	@Override
	public String XXX() throws Exception {
			return null;
	}


}
  • 正常启动所有项目即可

到此微服务的部分基本结束!!!

你可能感兴趣的:(springboot项目的集中化配置与熔断机制)