springcloud Netflix是基于http通讯的微服务框架。
应用思路(四部曲):
导包 开启配置(@EnableXXX) 编写配置文件 编写配置类(@Configation)
以下的所有的技术栈都是基于这四步
主要的的技术栈:
1.基于restful的的http的通讯框架
导入springcloud和springboot相关的包,分为服务端和客户端,客户端直接通过直接访问服务端的端口
2.服务注册与发现eureka
导入eureka相应的依赖,搭建服务平台,关闭服务平台注册自己的能力,编写服务供取双方的平台地址
3.负载均衡ribbon
导入ribbon相应的依赖,可以自定义负载均衡算法,也可以用自带的负载均衡,有了负载均衡客户端的uri就可以通过 spring.application.name的值访问服务端
4.熔断机制和服务降级(hystrix,feign)
feign是hystrix的社区版,hystrix是原生态的实现服务熔断与降级,feign是通过接口调用实现服务降级。
熔断机制是指如果某个服务崩溃以后,为了不引起服务雪崩,熔断的方法得到一个值,告诉用户这个服务不可用了
服务降级是指为了面对即将而来的一个局部的很大的访问量,关掉一些服务,确保另一些服务可以正常的进行
5.监控机制(dashboard)
基于hystrix实现的对服务可用性的监控
6.API网关(zuul)
对服务端的端口具有保密的作用,对服务端口进行加密,也可配置为只能通过只用信息对端口进行访问
7.云端配置中心(springcloudconfig)
把服务的配置文件放到云端统一管理