首页 > 编程知识 正文

resource和autowired注解的区别(产品需求和用户需求的区别和联系)

时间:2023-05-06 03:24:37 阅读:83808 作者:1700

因为手头的国家电网信息化项目都是基于Spring Cloud的,项目进行了一段时间后,Spring Cloud从技术框架中得到了一定的了解。 使用该技术框架,可以减少对大规模系统构建的要求,以非常低的成本(技术或硬件)构建高效、分布式、容错的平台,但Spring Cloud也没有缺点,我是非科学班毕业的IT提供商

一、Spring Cloud到底是什么?

Spring Cloud是基于Spring Boot实现的云APP开发工具,是基于JVM的云APP开发中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局这些官方说明巴拉巴拉巴完全不懂吧。

一般来说,这是一个微服务框架。 微服务是可以独立部署、水平扩展、独立访问的(或有独立数据库的)服务单元,Spring cloud是这些微服务的大管家。 如果采用微服务这个框架,项目数量会非常多,需要Spring cloud作为大管家来管理这些微服务,自然会有很多hpdej需要帮助。

主要派生hpdej如下所示,堆积如山。

Spring Cloud Config、springcloudnetflix (欧盟、惠普、希腊. )、spring cloud总线、云基金会的spring cloud spring cloud安全、Spring Cloud Sleuth、spring cloud数据流、spring cloud流、spring cloud任务、s pring cloud连接

每个成员都掌握不同寻常的技能,武功高强后,逐一介绍。

二、和Spring boot是什么关系?

Spring boot是一组基于Spring boot快速开发各个微服务的Spring快速配置支架,Spring Cloud是基于Spring boot安装的云APP开发工具。 Spring boot是一个专注于可以快速、轻松集成的单个个人,而Spring Cloud是一个专注于全球的服务治理框架; spring boot使用缺省值大于配置的理念,许多集成方案已经做出了选择。 不构成的话可以不构成。 Spring Cloud的大部分是基于spring boot实现的。

那么,可以不基于Spring boot吗?

答案是否定的。 虽然Spring boot可以远离Spring Cloud独立使用开发项目,但是Spring Cloud离不开Spring boot,存在依赖关系。

就像spring - spring booot spring cloud一样。

三、Spring Cloud的优势

微服务的框架那么多,比如dubbo,Kubernetes,为什么要在国家电网上使用Spring Cloud呢?

由spring大家庭生产,spring在企业级开发框架中无人能敌,来头大,可以保证之后的更新、完善。 例如,dubbo现在差不多死了。 有了spring Boot这个独立的工作,可以节省很多事情。 大小活的spring Boot做得很好。 作为微服务管理的大男人,考虑的很全面,几乎所有服务管理的方方面面都考虑到了,开箱即用就可以开发了。 Spring Cloud的活跃度高,教程丰富,在出现问题时可以很容易地找到解决方案。 代码几行就完成了熔断、平衡责任、服务中心的各种平台功能。

四、相关组件介绍

spring云网络

这是个漂亮的储物柜,地位仅次于老板。 老板的各项服务依赖于它,与各种Netflix OSS组件集成,构成了微服务的核心。 其惠普DEJ主要有Eureka、HY斯特里克斯、Zuul、Archaius .等

Netflix欧洲航空

基于REST的服务,用于确定服务中心、云服务发现和服务

实现云端中间层服务发现和故障转移。

这个可是springcloud最牛鼻的hpdej,服务中心,任何hpdej需要其它hpdej支持什么都需要从这里来拿,同样的你有什么独门武功的都赶紧过报道,方便以后其它hpdej来调用;它的好处是你不需要直接找各种什么hpdej支持,只需要到服务中心来领取,也不需要知道提供支持的其它hpdej在哪里,还是几个hpdej来支持的,反正拿来用就行,服务中心来保证稳定性和质量。

Netflix Hystrix

熔断器,容错管理工具,旨在通过熔断机制控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。比如突然某个hpdej生病了,但是你还需要它的支持,然后调用之后它半天没有响应,你却不知道,一直在等等这个响应;有可能别的hpdej也正在调用你的武功绝技,那么当请求多之后,就会发生严重的阻塞影响老大的整体计划。

这个时候Hystrix就派上用场了,当Hystrix发现某个hpdej不在状态不稳定立马马上让它下线,让其它hpdej来顶上来,或者给你说不用等了这个hpdej今天肯定不行,该干嘛赶紧干嘛去别在这排队了。

Netflix Zuul

Zuul 是在云平台上提供动态路由、监控、弹性、安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。当其它门派来找大哥办事的时候一定要先经过zuul,看下有没有带刀子什么的给拦截回去,或者是需要找那个hpdej的直接给带过去。

Netflix Archaius

配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调机制等功能。

可以实现动态获取配置,原理是每隔60s(默认,可配置)从配置源读取一次内容,这样修改了配置文件后不需要重启服务就可以使修改后的内容生效,前提使用archaius的API来读取。

Spring Cloud Config

俗称的配置中心,配置管理工具包,让你可以把配置放到远程服务器,集中化管理集群配置。

目前支持本地存储、Git以及Subversion。就是以后大家武器、枪火什么的东西都集中放到一起,别随便自己带,方便以后统一管理、升级装备。

Spring Cloud Bus

事件、消息总线,用于在集群(例如,配置变化事件)中实时传播状态变化,可与Spring Cloud Config联合实现热部署。相当于水浒传中日行八百里的cqdmd,确保各个hpdej之间消息保持畅通。

Spring Cloud for Cloud Foundry

Cloud Foundry是VMware推出的业界第一个开源PaaS云平台。

它支持多种框架、语言、运行时环境、云平台及应用服务,使开发人员能够在几秒钟内进行应用程序的部署和扩展,无需担心任何基础架构的问题。其实就是与CloudFoundry进行集成的一套解决方案,抱了Cloud Foundry的大腿。

Spring Cloud Cluster

Spring Cloud Cluster将取代Spring Integration。

提供在分布式系统中的集群所需要的基础功能支持,如:选举、集群的状态一致性、全局锁、tokens等常见状态模式的抽象和实现。

如果把不同的帮派组织成统一的整体,Spring Cloud Cluster已经帮你提供了很多方便组织成统一的工具。

Spring Cloud Consul

Consul 是一个支持多数据中心分布式高可用的服务发现和配置共享的服务软件,由 HashiCorp 公司用 Go 语言开发, 基于 Mozilla Public License 2.0 的协议进行开源. Consul 支持健康检查,并允许 HTTP 和 DNS 协议调用 API 存储键值对。

Spring Cloud Consul 封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。

Spring Cloud Security

基于spring security的安全工具包,为你的应用程序添加安全控制。

这个hpdej很牛鼻专门负责整个帮派的安全问题,设置不同的门派访问特定的资源,不能把秘籍葵花宝典泄漏了。

Spring Cloud Sleuth

日志收集工具包,封装了Dapper和log-based追踪以及Zipkin和HTrace操作,为SpringCloud应用实现了一种分布式追踪解决方案。

Spring Cloud Data Flow

Data flow 是一个用于开发和执行大范围数据处理其模式包括ETL,批量运算和持续运算的统一编程模型和托管服务。对于在现代运行环境中可组合的微服务程序来说,Spring Cloud data flow是一个原生云可编配的服务。

开发者可以为像数据抽取,实时分析,和数据导入/导出这种常见用例创建和编配数据通道 (data pipelines)。目标是简化大数据应用的开发。Spring XD 的流处理和批处理模块的重构分别是基于 spring boot的stream 和 task/batch 的微服务程序。

这些程序现在都是自动部署单元而且他们原生的支持像 Cloud Foundry、Apache YARN、Apache Mesos和Kubernetes 等现代运行环境。Spring Cloud data flow 为基于微服务的分布式流处理和批处理数据通道提供了一系列模型和最佳实践。

Spring Cloud Stream

Spring Cloud Stream是创建消息驱动微服务应用的框架。Spring Cloud Stream是基于spring boot创建,用来建立单独的/工业级spring应用,使用spring integration提供与消息代理之间的连接。数据流操作开发包,封装了与Redis、Rabbit、Kafka等发送接收消息。

一个业务会牵扯到多个任务,任务之间是通过事件触发的,这就是Spring Cloud stream要干的事了

Spring Cloud Task

主要解决短命微服务的任务管理,任务调度的工作,比如说某些定时任务晚上就跑一次,或者某项数据分析临时就跑几次。

Spring Cloud Zookeeper

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。(动物园管理员)

Spring Cloud Connectors

直接帮助你简化了连接到服务的过程和从云平台获取操作的过程,有很强的扩展性,可以利用Spring Cloud Connectors来构建你自己的云平台。便于云端应用程序在各种PaaS平台连接到后端。

Spring Cloud Starters

Spring Boot式的启动项目,为Spring Cloud提供开箱即用的依赖管理(一键制动)。

Spring Cloud CLI

基于 Spring Boot CLI,可以让你以命令行方式快速建立云组件。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。