美文网首页
六、springcloud入门概述

六、springcloud入门概述

作者: 神奇作手 | 来源:发表于2019-07-11 08:46 被阅读0次

    一、官方说明

        SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。
        SpringCloud利用SpringBoot的开发便利性巧妙地简化了分布式系统基础设施的开发,SpringCloud为开发人员提供了快速构建分布式系统的一些工具,包括配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等,它们都可以用SpringBoot的开发风格做到一键启动和部署。
        SpringBoot并没有重复制造轮子,它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,通过SpringBoot风格进行再封装屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。

    \color{#ff0000}{springCloud = 分布式微服务架构下的一站式解决方案,是各个微服务架构落地技术的集合,俗称微服务全家桶。}

    二、 springboot与springcloud 的关系

       SpringBoot专注于快速方便的开发单个个体微服务。
       SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务
       SpringBoot可以离开SpringCloud独立使用开发项目,但是SpringCloud离不开SpringBoot,属于依赖的关系.
       SpringBoot专注于快速、方便的开发单个微服务个体,SpringCloud关注全局的服务治理框架。

    三、springcloud与dubbo对比

    Dubbo SpringCloud
    服务注册中心 Zookeeper SpringCloud Netflix Eureka
    服务调用方式 RPC REST API
    服务监控 Dubbo-monitor SpringBoot Admin
    断路器 不完善 SpringCloud Netflix Hystrix
    服务网关 SpringCloud Netflix Zuul
    分布式配置 SpringCloud Config
    服务跟踪 SpringCloud Sleuth
    消息总线 SpringCloud Bus
    数据流 SpringCloud Stream
    批量任务 SpringCloud Task
    ...... ...... ......

      最大区别:SpringCloud抛弃了Dubbo的RPC通信,采用的是基于HTTP的REST方式。
      严格来说,这两种方式各有优劣。虽然从一定程度上来说,后者牺牲了服务调用的性能,但也避免了上面提到的原生RPC带来的问题。而且REST相比RPC更为灵活,服务提供方和调用方的依赖只依靠一纸契约,不存在代码级别的强依赖,这在强调快速演化的微服务环境下,显得更加合适。

      类似品牌机与组装机的区别:
      很明显,Spring Cloud的功能比dubbo更加强大,涵盖面更广,而且作为Spring的拳头项目,它也能够与Spring Framework、Spring Boot、Spring Data、Spring Batch等其他Spring项目完美融合,这些对于微服务而言是至关重要的。

      社区支持与更新力度
      最为重要的是,dubbo停止了5年左右的更新,虽然2017.7重启了。对于技术发展的新需求,需要由开发者自行拓展升级(比如当当网弄出了DubboX),这对于很多想要采用微服务架构的中小软件组织,显然是不太合适的,中小公司没有这么强大的技术能力去修改Dubbo源码+周边的一整套解决方案,并不是每一个公司都有阿里的大牛+真实的线上生产环境测试过。

    四、总结cloud与dubbo

      问题: 曾风靡国内的开源 RPC 服务框架 Dubbo 在重启维护后,令许多用户为之雀跃,但同时,也迎来了一些质疑的声音。互联网技术发展迅速,Dubbo 是否还能跟上时代?Dubbo 与 Spring Cloud 相比又有何优势和差异?是否会有相关举措保证 Dubbo 的后续更新频率?
      dubbo与springcloud两者所解决的问题域并一样:dubbo的定位是一款RPC框架,springcloud目标是微服务架构的下一站式解决方案。 如果非要比较的话,我觉得dubbo可以类比到 Netflix OSS 技术栈,而springcloud集成了Netflix OSS 作为分布式服务治理解决方案,除此之外springcloud还提供了包括config、stteam、security、sleuth等等分布式问题解决方案。在面临微服务基础框架选型时dubbo与springcloud只能二选一。

    五、能干吗?

    • Distributed/versioned configuration(分布式/版本控制配置)
    • Service registration abd discovery(服务注册与发现)
    • Routing(路由)
    • Service-to-service calls(服务到服务的调用)
    • Load balancing(负载均衡配置)
    • Circuit Breakers(断路器)
    • Distributed messaging(分布式消息管理)
      ...................

    六、去哪下载

    (1)、官网:https://spring.io/projects/spring-cloud
    (2)、参考书: https://springcloud.cc/spring-cloud-netflix.html

    七、怎么玩

    • 服务注册与发现(Eureka)
    • 服务消费者(rest+Ribbon)
    • 服务消费者(Feign)
    • 断路器(Hystrix)
    • 断路器监控(Hystris Dashboard)
    • 路由网关(Zuul)
    • 分布式配置中心(Spring Cloud Config)
    • 消息总线(Spring Cloud Bus)
    • 服务链路追踪(Spring Cloud Sleuth)

    相关文章

      网友评论

          本文标题:六、springcloud入门概述

          本文链接:https://www.haomeiwen.com/subject/iubdkctx.html