学习入门springcloud微服务体系搭建(基础篇)

1.为什么要使用Spring Cloud

                                                          单体架构

    在网站开发的前期,项目面临的流量相对较少,单一应用可以实现我们所需要的功能,从而减少开发、部署和维护的难度。这种用于简单的增删改查的数据访问框架(ORM)就可以实现我们的需求。

                         

 

                                         垂直应用架构 

    当用户访问量不断的提升,单一应用需要不断的增加服务器来应对,同时将单一的应用拆分成多个应用用来处理提升效率。这种用于加速Web前端加载的Web框架(MVC)。UI层负责和用户进行交互、业务逻辑层负责具体的业务功能、数据库层负责和上层进行数据交换和存储。 

                                       

 

     伴随着企业服务量的不断提升,MVC框架的部署导致系统的负重越来越多,无法满足并发的要求。这时候我们需要考虑服务化的架构(SOA)。SOA表示面向服务的架构。将应用根据不同的职责划分成不同的模块(类似于企业划分不同的事业部),服务化架构是一套松耦合的架构,服务的拆分原则是服务内部高内聚,服务之间低耦合。

                                    

 

2.核心知识点:

Eureka 注册中心

Hystrix熔断 机制

Zuul 网关

Config Server配置中心

User Center 搭建

                                                    Eureka 

        Eureka就是一个服务中心,将所有的可以提供的服务都注册到它这里来管理,其它各调用者需要的时候去注册中心获取,然后再进行调用,避免了服务之间的直接调用,方便后续的水平扩展、故障转移等。如下图:

那么在系统的运行期间某个实例挂了怎么办?

1.心跳机制                    2.负载均衡                    3.故障转移

 

                                                   Hystrix 

        在微服务架构中通常会有多个服务层调用,基础服务的故障可能会导致级联故障,进而造成整个系统不可用的情况,这种现象被称为服务雪崩效应。 在这种情况下就需要整个服务机构具有故障隔离的功能,避免某一个服务挂掉影响全局。 

                                          

      Hystrix会在某个服务连续调用N次不响应的情况下,立即通知调用端调用失败,避免调用端持续等待而影响了整体服务。Hystrix间隔时间会再次检查此服务,如果服务恢复将继续提供服务。 

                                                   Config

        随着微服务不断的增多,每个微服务都有自己对应的配置文件 如:缓存、数据库等。Spring Cloud Config是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,Server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,Client通过接口获取数据、并依据此数据初始化自己的应用。 

                   

                                                    Zuul

        它的具体作用就是服务转发,接收并转发所有内外部的客户端调用。使用Zuul可以作为资源的统一访问入口,同时也可以在网关做一些权限校验等类似的功能。 当添加API网关后,在第三方调用端和服务提供方之间就创建了一面墙,这面墙直接与调用方通信进行权限控制,后将请求均衡分发给后台服务端。

(1)Zuul本质上是一个web servlet应用,ZuulServlet

(2)核心是一系列的filters, 其作用可以类比Servlet框架的Filter,或者AOP。 Zuul请求路由到后端服务的过程中,这些filter参与一些过滤处理。

                            

                                                    总结

1.Eureka负责服务的注册与发现,很好将各服务连接起来 

2.Hystrix 负责监控服务之间的调用情况,连续多次失败进行熔断保护。 

3.Hystrix dashboard,Turbine 负责监控 Hystrix的熔断情况,并给予图形化的展示 

4.Spring Cloud Config 提供了统一的配置中心服务当配置文件发生变化的时候,Spring Cloud Bus 负责通知各服务去获取最新的配置信息 

5.所有对外的请求和服务,我们都通过Zuul来进行转发,起到API网关的作用 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值