SpringCloud基础了解(SpringCloud学习一)

SpringCloud基础了解

SpringCloud背景和基础知识

​ 随着技术的慢慢发展,单一的应用很难满足目前用户的需求的。例如现在最简单的商场应用,用户下单后,需要创建订单服务,再创建库存服务、快递服务、如果有可能还会有会员积分服务。所以目前单一的应用去做这些事情很困难,能够完成,但是中间要花费大量的时间和精力去处理服务之间的协调和通信问题。SpringCloud就应用而生,和SpringBoot的产生一样,也是轻量级,让开发人员更加专注的开发业务代码,而不是和业务无关的代码。由此可见,这也是目前主流工具的开发方向。

​ 想要了解SpringCloud需要先了解SpringBoot,因为都是Spring的全家桶,所以SpringCloud是基于SpringBoot的。关于SpringBoot的介绍这里就不再累述了,很多文档包括我也写了一些。其实在我看来,因为这些脚手架的原因,现在开发人员甚至不用关注底层原理,直接就可以开发。所以SpringBoot只要会大致写一个HelloWorld,就可以看关于SpringCloud的文档了。但是一旦底层出现一些问题,这些人又完全没有方法。短期看,Spring对于编程的发展有一定的好处,但是长远看,会使得编程人员往更高级的语言发展(但是Java本身就是高级语言啊)或者后来的编程人员越来越原理这里底层原理。无论哪种都不是很好的结果。(说多了,开始吧)

SpringCloud的核心组件

  • 服务发现——Netflix Eureka。通过这个组件可以将服务注册到Eureka服务端中,服务端则将所有的服务的机器和端口号记录下来。当调用服务时,向注册中心查询注册表即可。

  • 客服端负载均衡——Netflix Ribbon。这个组件是为了提供客户侧的软件负载均衡算法。Ribbon的负载均衡默认使用的最经典的Round Robin轮询算法

  • HTTP客户端——OpenFeign。简化调用服务时的工作,将复杂的请求简化为配置,使用动态代理来构造出需要请求的服务地址,最后发起请求和解析请求。

  • 断路器——Netflix Hystrix。为了避免雪崩现象,使用Hystrix来解决这个问题。Hystrix是隔离、熔断以及降级的一个框架。当某个服务挂掉后,Hystrix首先熔断,在一定时间后直接返回,但是不能直接返回,需要降级,把这个错误或者异常记录,在服务恢复后继续执行。

  • 服务网关——Netflix Zuul。各个服务因为请求地址不同,前端做分离是不现实的,所以采用路由的形式,将前端的请求统一从路由过,再由路由转发给对应的服务。

记在后面的话

​ 其实把上面的看完就可以理解这些组件设计的目的了,总的来说,SpringCloud的组件虽然都是轻量级的,但是普通的应用拆分服务的很少,所以还是有一定体量的才会上微服务,所以保证这些服务和应用正常工作就显得格外重要,各个组件也是为了保证这一点。作为码农,了解各个模块和组件的作用非常重要,要比一个demo重要的多。后面我也会慢慢的搭建一个简单的SpringCloud框架。

​ 就这样吧,结束。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章