首页 > 其他分享 >对于spring cloud的了解到入门

对于spring cloud的了解到入门

时间:2024-06-23 15:56:21浏览次数:3  
标签:SpringCloud 服务 入门 Netflix spring 配置管理 cloud Spring Cloud

一、SpringCloud介绍
1.概念:Spring cloud 是一系列框架的有序集合。它利用 spring boot 的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用 spring boot 的开发风格做到一键启动和部署。
2.优缺点(主要针对微服务)
(1)优点
①每个服务足够内聚,足够小,代码容易理解、开发效率提高;
②服务之间可以独立部署,微服务架构让持续部署成为可能;
③精细度业务控制,每个服务可以各自进行负载均衡扩展和数据库扩展,而且,每个服务可以根据自己的需要部署到合适的硬件服务器上;
④容易扩大开发团队,可以针对每个服务组件开发团队;
⑤提高容错性,一个服务的内存泄露并不会让整个系统瘫痪;
⑥每个服务可以用不同的技术开发,系统不会被长期限制在某个技术栈上。
(2)缺点
①开发人员要处理分布式系统的复杂性:
设计服务之间的通信机制,需要考虑分布式事务等问题;
涉及多个服务直接的自动化测试;
服务管理的复杂性(PS:现在docker的出现适合解决这个问题);
②对于业务数据和处理能力不是很明确的创业公司,不适合微服务架构模式,这时候最重要的是快速开发、快速部署、快速试错。
3.应用场景
适合业务复杂度较大、并发量较高的场景
4.SpringCloud与Dubbo对比
(1)架构完整度上,Dubbo只有服务注册/服务治理(zookeeper)两个模块,SpringCloud已经有二十多个模块,而且还在增加;
(2)SpringCloud的社区活跃度高;但Dubbo有高质量的中文文档
(3)Dubbo服务间的通讯采用的RPC,SpringCloud则是Http的Rset,RPC对业务接口有强依赖性,需要通讯双方有一样的接口,REST更为轻量化,只通过一个约定进行规范,不存在代码间的耦合。

二、SpringCloud子项目
SpringCloud的子项目一直在持续更新,这里我把SpringCloud中文网首页的直接放上来了。
详情参照:https://www.springcloud.cc/
1.Spring Cloud Config(Spring)
配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置,目前支持本地存储、Git以及Subversion。
2.Spring Cloud Bus(Spring)
事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
3.Eureka(Netflix)
云端服务发现,一个基于 REST 的服务,用于定位服务,以实现云端中间层服务发现和故障转移。
4.Hystrix(Netflix)
熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
5.Zuul(Netflix)
Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。
6.Archaius(Netflix)
配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。
7.Consul(HashiCorp)
封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
8.Spring Cloud for Cloud Foundry(Pivotal)
通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS云平台。
9.Spring Cloud Sleuth(Spring)
日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。
10.Spring Cloud Data Flow(Pivotal)
大数据操作工具,作为Spring XD的替代产品,它是一个混合计算模型,结合了流数据与批量数据的处理方式。
11.Spring Cloud Security(Spring)
基于spring security的安全工具包,为你的应用程序添加安全控制。
12.Spring Cloud Zookeeper(Spring)
操作Zookeeper的工具包,用于使用zookeeper方式的服务发现和配置管理。
13.Spring Cloud Stream(Spring)
数据流操作开发包,封装了与Redis,Rabbit、Kafka等发送接收消息。
14.Spring Cloud CLI(Spring)
基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。
15.Ribbon(Netflix)
提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。
16.Turbine(Netflix)
Turbine是聚合服务器发送事件流数据的一个工具,用来监控集群下hystrix的metrics情况。
17.Feign(OpenFeign)
Feign是一种声明式、模板化的HTTP客户端。
18.Spring Cloud Task(Spring)
提供云端计划任务管理、任务调度。
19.Spring Cloud Connectors(Spring)
便于云端应用程序在各种PaaS平台连接到后端,如:数据库和消息代理服务。
20.Spring Cloud Cluster(Spring)
提供Leadership选举,如:Zookeeper, Redis, Hazelcast, Consul等常见状态模式的抽象和实现。
21.Spring Cloud Starters(Pivotal)
Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理。

标签:SpringCloud,服务,入门,Netflix,spring,配置管理,cloud,Spring,Cloud
From: https://blog.csdn.net/m0_64167950/article/details/139901536

相关文章

  • SpringBoot发送邮件
    SpringBoot集成邮件服务本文将介绍如何使用SpringBoot集成QQ邮箱的邮件服务,实现Java发送邮件功能。开启邮件服务以QQ邮箱为例,首先需要开启SMTP服务。第一步首页点击设置第二步点击账号第三步下滑找到SMTP相关文件服务,获取验证码第四步复制获取到的授权......
  • SpringBoot使用spring.factories加载默认配置
    在日常开发过程中,发布一些产品或者框架时,会遇到某些功能需要一些配置才能正常运行,这时我们需要的提供默认配置项,同时用户也能覆盖进行个性化创建InitializerpublicclassFrameContextInitializerimplementsApplicationContextInitializer{@Overridepublicvoid......
  • Perl语言入门:探索Perl语法规则的基本特点
    Perl是一种高级、通用的、解释型的编程语言,以其强大的文本处理能力而闻名。Perl的语法规则融合了C、Sed、awk和Shell脚本等多种编程语言的特点,形成了自己独特的风格。对于初学者来说,理解Perl的语法规则是掌握这门语言的关键。本文将详细介绍Perl语法规则的基本特点,帮助初学......
  • 任务调度SpringTask入门
    任务调度简介1.1什么是任务调度在企业级应用中,经常会制定一些“计划任务”,即在某个时间点做某件事情,核心是以时间为关注点,即在一个特定的时间点,系统执行指定的一个操作。常见的任务调度框架有Quartz和SpringTask等。SpringTask入门1.2SpringTask入门小Demo创建模块52xbc-......
  • SpringMVC类型转换Converter使用
    Converter接口//S:表示接受的类型,T:表示目标类型publicinterfaceConverter<S,T>{/***实现类型转换的方法*/@NullableTconvert(Ssource);}自定义类型转换器/***@authorsongzixian*@create2019-07-23下午3:22*@description自定义类型转换器*/......
  • 《Python编程:从入门到实践》
    书籍介绍 hi,我是神虚本书是一本针对所有层次的Python读者而作的Python入门书。全书分两部分:第一部分介绍用Python编程所必须了解的基本概念,包括matplotlib、NumPy和Pygal等强大的Python库和工具介绍,以及列表、字典、if语句、类、文件与异常、代码测试等内容;第二部......
  • NSIS 入门教程 (三)
    引言 在教程的第二部分中,我们为安装程序增加了一个卸载程序,并查看了一些其他的向导页面以及安装部分的选择。第三部分的目标是使安装程序的外观更加现代化。 更现代的外观 为了给安装程序一个更现代的外观,我们要启用现代用户界面。要提升我们的安装程序(基于“secondinsta......
  • 计算机毕业设计|基于微信小程序的宠物自动喂养系统 基于SpringBoot的宠物自动喂养系统
    ......
  • SpringBoot + 虚拟线程,鸟枪换大炮!
    “虚拟”线程,望文生义,它是“假”的,它不直接调度操作系统的线程,而是由JVM再提供一层线程的接口抽象,由普通线程调度,即一个普通的操作系统线程可以调度成千上万个虚拟线程。虚拟线程比普通线程的消耗要小得多得多,在内存足够的情况下,我们甚至可以创建上百万的虚拟线程,这在之前(Jav......
  • Spring Boot原理
    自动装配原理pom.xml父工程spring-boot-starter-parent<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.1</version><relativePath/>......