SpringCloud之路开启篇1:基础知识熟悉

集群/分布式/SOA

分布式:一个业务分拆多个子业务,部署在不同的服务器上
集群:同一个业务,部署在多个服务器上

 

集群每一台服务器实现的功能没有什么差别。分布式每一台实现的功能是有差异的

集群是同一个业务部署在多台机器上,提高系统可用性。分布式是不同的业务模块拆分到不同的机器上,解决高并发的问题。

参考来源:https://www.zhihu.com/question/20004877

 

为什么需要SpringCloud?

就是把我们一的项目,分解成多个的模块。这些小的模块组合起来,完成功能

 

SpringCloud的基础功能

  • 服务治理: Spring Cloud Eureka 【 [juˈriːkə]  (因找到某物,尤指问题的答案而高兴)我发现了,我找到了】

           子系统之间的通讯,Eureka专门用于给其他服务注册的称为Eureka Server(服务注册中心),其余注册到Eureka Server的服务称为Eureka Client

  • 客户端负载均衡: Spring Cloud Ribbon 【[ˈrɪbən]  (使用功能区;铝带;蝴蝶結;功能区;丝带)】

        客户端负载均衡(Ribbon),服务端负载均衡(Nginx)

  • 服务容错保护: Spring Cloud Hystrix
  • 声明式服务调用: Spring Cloud Feign 【[feɪn]  (假装,捏造;捏造)】

       基于 Netflix Feign 实现,整合了 Spring Cloud Ribbon 与 Spring Cloud Hystrix, 除了整合这两者的强大功能之外,它还提 供了声明式的服务调用(不再通过RestTemplate)。Feign是一种声明式、模板化的HTTP客户端。在Spring Cloud中使用Feign, 我们可以做到使用HTTP请求远程服务时能与调用本地方法一样的编码体验,开发者完全感知不到这是远程方法,更感知不到这是个HTTP请求。

  • API网关服务:Spring Cloud Zuul

      在API网关服务上进行统一调用来对微服务接口做前置过滤,以实现对微服务接口的拦截和校验

  • 分布式配置中心: Spring Cloud Config

Zuul支持Ribbon和Hystrix,也能够实现客户端的负载均衡。我们的Feign不也是实现客户端的负载均衡和Hystrix的吗?既然Zuul已经能够实现了,那我们的Feign还有必要吗?

答:

  • zuul是对外暴露的唯一接口相当于路由的是controller的请求,而Ribbonhe和Fegin路由了service的请求
  • zuul做最外层请求的负载均衡 ,而Ribbon和Fegin做的是系统内部各个微服务的service的调用的负载均衡

参考来源:https://zhuanlan.zhihu.com/p/43023436

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值