【SpringCloud微服务笔记02】认识SpringCloud

一、什么是SpringCloud?

        SpringCloud是一个基于SpringBoot实现的微服务开发架构。Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。

其具有以下特点:

1.1组件丰富,功能齐全

        Spring Cloud 拥有Spring这个强大后盾,框架的源码也是开源的,而且开发者在不断完善Spring Cloud下的组件,其中包括Eureka服务注册发现中心,主要负责完成微服务架构中的服务管理功能;SpringCloud Config分布式配置中心,可以实现动态修改配置文件;Hystrix熔断器,通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。这些组件基本覆盖了日常开发的各个方面。

1.2 开箱即用,快速启动

        Spring Cloud是基于Spring Boot开发的,Spring Boot具有快速构建Spring应用、直接嵌入服务器、自动化配置的优点,Spring Cloud继承了Spring Boot快速构建和自动化配置的优点,有开箱即用、快速启动的特点。

1.3 模块部署方便,项目维护难度降低

        Spring Cloud采用模块化开发,按照项目功能将项目拆分为不同的模块,每个模块独立开发运行,模块之间不会互相影响。模块开发完成后,每个模块部署时可以使用Docker进行自动化部署,使得项目部署更加方便。维护时只需要维护具体的模块,不需要改动其他模块的代码,从而降低了模块后期维护的成本。

1.4 项目扩展性和稳定性较好

        基于Spring Cloud的微服务架构中,每个模块基本都是一个Spring Boot项目,它们都有独立的数据库,模块下的功能是横向开发的。如果需要扩展新的功能,就可以新建该功能对应的独立数据库以及新的模块,不需要在之前的模块上修改,这样项目扩展更方便,项目稳定性更好。

1.5 具有容错处理机制

        项目实际开发中会因为网络连接失败、超时、服务器硬件故障等原因导致其中某个模块无法常运行,从而导致整个项目发生异常,所以容错机制变得尤为重要。Spring Cloud提供了Hystrix组件,该组件专门用于处理容错,从而能保证某个模块出错后系统有其他备用模块或者善后处理。

二、SpringCloud微服务架构组件

1.1 Spring Cloud Config(分布式配置中心)

       负责把配置放到远程服务器上,集中化管理集群配置。

1.2 Spring Cloud Netflix(核心组件)

  • Eureka:服务注册与发现中心,基于REST服务的分布式中间件,主要用于服务管理
  • Hystrix:熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力
  • Ribbon:云端负载均衡器。支持多种负载策略,可配合服务发现和熔断器使用,在客户端实现负载均衡
  • Feign:一个REST客户端,基于Ribbon和Hystrix的声明式服务调用组件
  • zuul:服务网关。为微服务架构集群提供代理,过滤,路由等功能

1.3 Spring Cloud Bus 

        事件,消息总线,用于在集群中传播状态变化,可与Spring Cloud Config联合实现热部署

1.4 Spring Cloud Stream

       数据流操作开发包。可与redis,rabbitMQ,Kafka等架构进行消息发送和接受

1.5 Spring Cloud Sleuth                                                                           

        服务追踪框架。可以与Zipkin,Apache Htrace和ElK 等数据分析,服务追踪进行整合。


注:Nginix与Ribbon都为负载均衡器,但它们之间的有很大的不同:

  •  Nginx是基于服务器的负载均衡,客户端所有请求统一交给nginx,由nginx进行实现负载均衡请求转发,Nginx保持服务清单的同时,也负责负载均衡算法。比如Tomcat,本质上是服务器端的负载均衡,通过把所有请求转发到nginx服务器,然后通过nginx分发服务。
  •  Ribbon本质上是基于客户端的负载均衡,一般适用于微服务框架中RPC远程过程调用的架构中,是从 eureka 注册中心服务器端上获取获取的服务注册信息列表缓存到本地,然后在本地实现轮询负载均衡策略,然后通过ribbon的负载均衡策略达到均衡分发服务的目的。

  大家可以看图例:

              

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值