快速了解微服务,以及SpringCloud主要技术点的作用

快速了解微服务,以及SpringCloud主要技术点的作用,第1张

在了解SpringCloud之前先了解一下微服务

微服务:

   现在有一个JavaEE的项目是一个学校,现在有一个会语数外全能的老师,为学生提供服务,这个老师生病了,那全校停课,这就是传统的模式的缺点。

  随着业务逻辑的增加和复杂性的上升,传统的模式不能够满足需求,于是就有了微服务架构的概念,微服务将原来的一个老师的功能分发成语文老师,数学老师,英语老师,语文老师下面可能还会有古文老师,现代文老师,这一系列的服务被细分化,就体现了微服务。而古文老师,现代文老师就可以成为一个集群。(这里的学校概念是之前看的一篇文章)

SpringCloud就是为了更好的实现微服务而出现的,让微服务更加的的完善,它并不是像SSM那种框架啊,而是一些技术的组合体,下面是SpringCloud的主要技术点以及技术点的作用: 

注册中心(Eureka,Zookeeper,Consul)各个微服务之间是需要相互调用的(老师之间需要沟通),此时就需要一个注册中心来管理这些微服务(老师)。老师把自己独有的信息注册进去,一般是微服务配置文件里面的server- application-name,此时这个老师对外暴露的就是这个信息,学生和其他老师就可以根据这个信息进行调用。

负载均衡Ribbon、Nginx为了不让某一台服务器(老师)太闲或者太忙又或者让能力强的老师多教一些学生,因此当用户(学生)访问服务器(老师)时还需要一种技术实现负载均衡。

服务调用(RestTemplate,OpenFeign)另外各个老师之间需要相互沟通也就是服务调用

网关(GateWay,zuul),:但是并不是所有人都能够进这个学校,因此就需要门卫,也就是网关。

网关有三大核心:路由,断言,过滤。比如一位同学路由转发到某一间教室,通过断言判断到底是不是真的是这间教室的同学,断言通过之后,还要有一层过滤,判断它作业是不是完成了,完成了才能真正到达教室。

服务熔断/降级/限流Hystrix,AlibabaSentinel):由于服务之间是存在连环调用的,也就称之为扇出,当某一个服务出现问题的时候,如果此时还有很多请求到这个出错的服务里面,就会造成内存占用严重,出现雪崩效应,服务熔断就是解决这个问题而出现的,如果某一模块过久没有相应, 就会关闭对这个服务端的调用,并快速返回错误的响应信息,给用户友好的提示(如:当前服务器较忙),并且在熔断之后会检测有没有恢复,响应正常后,恢复调用。

而服务降级是当服务器压力剧增的情况下,根据实际业务情况及流量,对一些服务和页面有策略的不处理或换种简单的方式处理(比如在一些不重要的业务显示:当前访问人数较多,请稍后重试)。服务限流:对超出服务处理能力之外的请求进行拦截,对访问服务的流量进行限制。

服务监控Sleuth:学校里面可能会出问题,此时我们想快速定位到是哪一位老师的原因,就需要一种技术来实时监控各个老师的情况,也就是Sleuth分布式请求链路跟踪。每一个老师也就是一个微服务。

服务配置中心管理(SpringCloud Config):随着项目体系增大,模块也变多,每一个模块都会有一个配置文件application.yml。但是这些配置文件里面有很多一部分是相同的,因此可以抽取出来进行管理,也就是SpringCloudConfig这项技术。这项技术一般是需要搭配GitHub进行使用。

消息总线SpringCloud Bus):这个可以看成是上面服务配置中心管理的一个小工具,需要搭配RabbitMQ或者kafka使用,作用就是当GitHub上面的统一配置文件进行更改后,保证所有模块的配置信息都同步更改。

最近在学SpringCloud,自己整理了一下笔记。望各位大佬多多指点。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/731177.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-27
下一篇2022-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存