配合eureka能够不用配置文件,自动实现负载均衡。git
consumer能够根据项目服务名称进行访问,若是多个服务名称一致,自动实现负载均衡。web
一套基于Netflix Feign实现的声明式服务调用客户端。它使得编写Web服务客户端变得更加简单。spring
咱们只须要经过建立接口并用注解来配置它既可完成对Web服务接口的绑定。浏览器
因为Feign是基于Ribbon实现的,因此它自带了客户端负载均衡功能。并且可以经过注解的方式找到服务提供方的名称与执行方法。springboot
@FeignClient("eureka-client") public interface DcClient { @GetMapping("/dc") String consumer(); }
@RestController public class DcController { @Autowired DcClient dcClient; @GetMapping("/consumer") public String dc() { return dcClient.consumer(); } }
Spring Cloud Config是Spring Cloud团队建立的一个全新项目,用来为分布式系统中的基础设施和微服务应用提供集中化的外部配置支持,它分为==服务端==与==客户端==两个部分。app
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-config-server</artifactId> </dependency> </dependencies>
spring application: name: config-server cloud: config: server: git: uri: http://git.oschina.net/didispace/config-repo-demo/ server: port: 1201
在这一步后,开始启动服务,看是否存在问题,若是不存在问题,那么能够继续git访问操做负载均衡
spring.cloud.config.server.git.username:访问Git仓库的用户名 spring.cloud.config.server.git.password:访问Git仓库的用户密码
http://localhost:1201//{application}-{profile}.yml
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> </dependencies>
@SpringBootApplication public class Application { public static void main(String[] args) { new SpringApplicationBuilder(Application.class).web(true).run(args); } }
spring: application: name: config-client cloud: config: uri: http://localhost:1201/ profile: default label: master server: port: 2001
http://localhost:2001/info