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

本文探讨了从单体架构到微服务架构的演进过程,深入解析了SpringCloud的核心组件,包括Eureka注册中心、Hystrix熔断机制、Zuul网关和ConfigServer配置中心,以及它们如何共同构建稳定、高效的服务体系。

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网关的作用 

 

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值