@EnnableEurekaServer
spring:
application:
name: spring-cloud-eureka
profiles: peer1
server:
port: 8000
eureka:
instance:
hostname: peer1
client:
serviceUrl:
defaultZone: http://peer2:8001/eureka/,http://peer3:8002/eureka/
注册中心这么关键的服务,一般生产都不可能是一台,2台的话,就互相注册,三台的话,两两互相注册。
eureka.client.serviceUrl.defaultZone= http://xxxx:8000/eureka/,http://xxxx:8001/eureka/
Eureka集群,互相注册。
@EnnableDiscoveryClient
@EnnableFeignCLients
@FeignClient(name= "spring-cloud-producer")
public interface HelloRemote {
@RequestMapping(value = "/hello")
public String hello(@RequestParam(value = "name") String name);
}
feign.hystrix.enabled=true
@FeignClient(name= "spring-cloud-producer",fallback = HelloRemoteHystrix.class)
public interface HelloRemote {
@RequestMapping(value = "/hello")
public String hello(@RequestParam(value = "name") String name);
}
雪崩效应:一个服务提供者不可以导致服务消费者表不可用,并将不可以逐步放大的过程.
CircuitBreaker
Hystrix
在SpringCloud 2.0后要解决hystrix.stream 404的问题,要在application.properties中加上:
management.endpoints.web.exposure.include=hystrix.stream
management.endpoints.web.base-path=/
spring-cloud-config-server
server:
port: 8001spring:
application:
name: spring-cloud-config-server
cloud:
config:
server:
git:
uri: https://github.com/xxxxxxxxxxxx # 配置git仓库的地址
search-paths: config-repo # git仓库地址下的相对地址,可以配置多个,用,分割。
username: # git仓库的账号
password: # git仓库的密码
@EnableConfigServer
将多个API调用逻辑进行聚合,从而减少客户端的请求数
@EnableZuulProxy
spring.application.name=gateway-service-zuul
server.port=8888
#这里的配置表示,访问/it/** 直接重定向到http://www.xxxx.com/**
zuul.routes.baidu.path=/it/**
zuul.routes.baidu.url=http://www.xxxx.com/
网关使用模式,自动转发机制
外部的应用,如何来访问内部各种各样的微服务呢.
Token路由
Zipkin …!xxxx。
Sleuth