为什么要使用SpringCloud?
因为SpringCloud是目前来说比较完整的微服务解决框架,不像其他RPC远程框架,只是解决了某个微服务中的问题。可以把这Springcloud理解为一整套服务,微服务全家桶--SpringCloud比较完善。Spr ingCloud的出现,对微服务技术提供了非常大的帮助,因为SpringCloud提供了一套完整的微服务解决方案,不像其他框架只是解决了微服务中某个问题。
服务治理
阿里巴巴开源的Dubbo和当当网在其基础上扩展的Dubbox、Eureka、Apache的Consul等
分布式配置中心
百度的disconf、Netfix的Archaius、360 的QConf、SpringCloud、携程的阿波罗等。
分布式任务
xx1-job、elastic- job、SpringCloud 的task等。
服务跟踪
京东的hyra、SpringCloud的sleuth等
微服务最核心的是什么?
核心在于服务治理(注册中心 )
如果注册中心因为某种原因出现故障应,可能会导致整个微服务不可用,该如何解决?
搭建注册中心集群(大型互联网注册中心都是集群的)
微服务负载均衡:
使用ribbon实现本地负载均衡,本地轮询访问接口
Ribbon和Nginx实现负载均衡有什么区别?
Ribbon是本地负载均衡(客户端),在调用接口的时候,会在Eureka注册中心上获取注册信息服务列表,缓存到本地,然后在本地实现负载均衡策略。
Nginx是客户端所有请求统一交给Nginx,由Nginx进行实现负载均衡请求转发,属于服务器端负载均衡。
应用场景的区别:
Nginx适合于服务器端实现负载均衡 比如Tomcat ,Jetty
Ribbon适合与在微服务中RPC远程调用实现本地服务负载均衡,比如Dubbo、SpringCloud中都是采用本地负载均衡。
网友评论