cms建站是什么,手机地图app下载安装,中山市饮食网站建设,私企建筑公司排名Spring Cloud是什么Spring Boot 让我们从繁琐的配置文件中解脱了出来#xff0c;而 Spring Cloud#xff0c;它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发#xff0c;如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等#xff0c;… Spring Cloud是什么Spring Boot 让我们从繁琐的配置文件中解脱了出来而 Spring Cloud它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等都可以用Spring Boot的开发风格做到一键启动和部署。Spring并没有重复制造轮子它只是将目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来通过Spring Boot风格进行再封装屏蔽掉了复杂的配置和实现原理最终给开发者留出了一套简单易懂、易部署和易维护的分布式系统开发工具包。Spring Cloud组成微服务是可以独立部署、水平扩展、独立访问(或者有独立的数据库)的服务单元springcloud就是这些微服务的大管家采用了微服务这种架构之后项目的数量会非常多springcloud需要管理好这些微服务需要很多框架支持。下图是 Spring Cloud 所包含的框架图常用组件详细介绍 服务治理服务注册与发现是 Spring Cloud 中最核心的组件之一整个系统中所有的服务都可以注册到注册中心然后由注册中心进行统一调度方便后续的水平扩展以及故障转移等。目前 Spring Cloud 主要通过整合 Netflix 的相关产品来实现这方面的功能(Spring Cloud Netflix)包括用于服务注册和发现的 Eureka调用断路器 Hystrix调用端负载均衡 RibbonRest 客户端 Feign智能服务路由 Zuul用于监控数据收集和展示的 Spectator、Servo、Atlas用于配置读取的 Archaius 和提供 Controller 层 Reactive 封装的 RxJava。除此之外针对于服务的注册和发现除了 EurekaSpring Cloud 也整合了 Consul 和 Zookeeper 作为备选但是因为这两个方案在 CAP 理论上都遵循 CP 而不是 AP所以官方并没有推荐使用。分布式链路监控Spring Cloud Sleuth 提供了全自动、可配置的数据埋点以收集微服务调用链路上的性能数据并发送给 Zipkin 进行存储、统计和展示。消息组件既然是微服务架构那服务间的调用肯定是无法避免的。Spring Cloud Stream 对于分布式消息的各种需求进行了抽象包括发布订阅、分组消费、消息分片等功能实现了微服务之间的异步通信。Spring Cloud Stream 也集成了第三方的 RabbitMQ 和 Apache Kafka 作为消息队列的实现。而 Spring Cloud Bus 基于 Spring Cloud Stream主要提供了服务间的事件通信(比如刷新配置)。配置中心随着服务的不断增多同时每个服务也会有多个环境(开发环境、测试环境、生产环境等)每个环境的配置文件又会有所不同但是其中又有许多配置是可以共用的如果每个服务自己去管理这些配置会给维护带来很大的麻烦这时候我们就需要引入配置中心去统一管理这些配置。基于 Spring Cloud Netflix 和 Spring Cloud BusSpring 又提供了 Spring Cloud Config实现了配置集中管理、动态刷新的配置中心概念。配置通过 Git 或者简单文件来存储支持加解密。完全控制Spring Cloud Security 基于 OAuth2 这个开放网络的安全标准提供了微服务环境下的单点登录、资源授权、令牌管理等功能。命令行工具Spring Cloud Cli 提供了以命令行和脚本的方式来管理微服务及 Spring Cloud 组件的方式。集群工具Spring Cloud Cluster 提供了集群选主、分布式锁(暂未实现)、一次性令牌(暂未实现)等分布式集群需要的技术组件。Spring Cloud 各个组件如何来配套使用如上图Spring Cloud 各个组件相互配合合作支持了一套完整的微服务架构。注1.Eureka 负责服务的注册与发现很好将各服务连接起来2.Hystrix 负责监控服务之间的调用情况连续多次失败进行熔断保护3.Hystrix dashboardTurbine 负责监控 Hystrix 的熔断情况并给予图形化的展示4.Spring Cloud Config 提供了统一的配置中心服务5.当配置文件发生变化的时候Spring Cloud Bus 负责通知各服务去获取最新的配置信息6.所有对外的请求和服务都通过 Zuul 来进行转发起到 API 网关的作用7.最后使用 SleuthZipkin 将所有的请求数据记录下来方便进行后续分析SpringCloud和DubboSpringCloud和Dubbo都是现在主流的微服务架构SpringCloud是Apache旗下的Spring体系下的微服务解决方案Dubbo是阿里系的分布式服务治理框架对比图如下最大区别SpringCloud抛弃了Dubbo的RPC通信采用的是基于HTTP的REST方式。从技术维度上,其实SpringCloud远远的超过Dubbo,Dubbo本身只是实现了服务治理,而SpringCloud现在以及有21个子项目以后还会更多。所以其实很多人都会说Dubbo和SpringCloud是不公平的但是由于RPC以及注册中心元数据等原因,在技术选型的时候我们只能二者选其一,所以我们常常用他俩来对比。Dubbo和Spring Cloud并不是完全的竞争关系两者所解决的问题域不一样Dubbo的定位始终是一款RPC框架而Spring Cloud的目的是微服务架构下的一站式解决方案。本文转载自开测如果对文章有任何疑问或建议可以留言告诉我们往期精彩回顾2019年度精选文章360技术中台招聘啦花椒前端基于 Docker 的 SSR 持续开发集成环境实践360技术公众号技术干货|一手资讯|精彩活动扫码关注我们