每一个组件的使用大致有四步:导入依赖,编写配置文件,开启组件服务(添加注解),配置类

1 服务治理

两大类:服务注册与服务发现
搭建服务注册中心:
1 pom中导入依赖
	2 在springboot启动应用中添加@EnableEurekaServer注解,表明这是一个服务端
	3 在application.properties中增加配置信息
注册服务提供者
1 pom中导入依赖
	2 写Controller类
	3 在springboot启动应用中添加@EnableDiscoveryClient注解,表明这是一个客服端,并激活了Eureka中的DiscoveryClient实现
	4 在application.properties中增加配置信息
高可用注册中心
1 修改各个服务端的配置信息
	2 在/etc/hosts文件中增加客服端的转换
	3 修改客服端的配置信息,将每个服务端的地址添加进去
服务发现与消费 Ribbon
服务发现由Eureka的客服端完成
	Ribbon负责消费和负载均衡 ,其中的地址改为微服务的名称,而不是具体的ip地址,相当于Ribbon和Eureka整合后可以直接调用服务而不用关心地址和端口号
	1 启动多个服务
	2 pom中导入依赖
	3 在springboot启动应用中添加@EnableDiscoveryClient注解,在某方法上使用@bean和@LoadBalance注解
	4 写Controller类,通过RestTemplate调用服务提供者的方法。
	5 在application.properties中增加配置信息

2 服务容错保护:spring cloud Hystrix(作用于服务提供者)

1 在pom中导入相关依赖
2 在spring boot启动应用中使用@EnableCircuitBreaker注解开启断路由功能
3 在controller类的方法调用服务方法上使用@HystrixCommand注解启用断路由机制,并写上熔断时的指定方法,通过注解中的fallbackMethod参数绑定方法。
还可以启用Hystrix的dashboard仪表盘

3 声明式服务调用:spring cloud Feign,屏蔽了RestTemplate的实现细节,提供了接口声明式的接口调用。

Feign实现了对Ribbon的进一步封装
1 在pom中导入Eureka和Feign的依赖
2 在springboot启动应用中使用@EnableFeignClient注解开启Feign的支持功能
3 在server类中通过@FeignClient注解绑定服务,仅仅是接口声明,不需要实现类。
4 在Controller中调用接口声明的方法。

Zuul路由网关 提供=代理+路由+过滤三大功能

1 在pom中导入Eureka和Zuul的依赖
2 在application.properties中增加配置信息
3 在主启动类中添加@EnableZuulProxy注解
4 这时可以通过路由访问服务,而不是直接调用微服务的名称