Spring Cloud 简介
总说
这里将会首先简单介绍一下Spring Cloud 。
其Logo 如下
Spring Cloud 是一系列有序框架的集合,其主要的设施有,服务发现与注册,配置中心,消息总线,负载均衡,断路器,数据监控等,通过Spring Boot的方式,可以实现一键启动,和部署。
Spring 没有重新造车轮,只是把各家的应用给综合起来。最后给开发者遗留下了一个足够简单的,相当容易部署的,相当容易学习的Spring 体系。
至于为什么要学习Spring Cloud的体系,因为原先的体系过于复杂了,导致开发的环境艰难,正是由于开发的环境的艰难,Spring Cloud 的是Spring体系的简化版,简化了原有的复杂,使得开发变的更加的简单快速。
其核心如下:
Spring Cloud Config、Spring Cloud Netflix(Eureka、Hystrix、Zuul、Archaius…)、Spring Cloud Bus、Spring Cloud for Cloud Foundry、Spring Cloud Cluster、Spring Cloud Consul、Spring Cloud Security、Spring Cloud Sleuth、Spring Cloud Data Flow、Spring Cloud Stream、Spring Cloud Task、Spring Cloud Zookeeper、Spring Cloud Connectors、Spring Cloud Starters、Spring Cloud CLI
这里将会一一的介绍。
服务注册与发现
其英文名称为 Spring Cloud Eureka,为Spring Cloud Netflix 子项目的核心组件之一,主要用于微服务的服务治理与发现。
在微服务的架构中,往往都有一个注册中心,每个微服务都会向注册中心,注册自己的微服务,注册中心,维护着,服务名称与服务实例对应的关系,每个微服务都会定时的从注册中心,获取注册列表,同时汇报自己的运行情况,这样当有其他服务需要调用该服务的时候,就可以向自己获取到的列表中,获取地址进行调用,Eureka实现了这套机制。即服务注册与发现。
其为微服务架构体系中最为核心的一点,用于其他微服务注册到该注册中心,配合路由可以实现路由的转发。通过寻找,遍历出其微服务。
同类型产品的还有Apahe Zookeeper 相对于高可用来说,zk 将不会保证,服务的可用性,当节点挂掉以后,需要进行Leader 选举,选举的时候会出现短暂的挂掉。而 eureka 当一个节点宕机以后,会进行自动的转移。所以其高可用性比zookeeper 相比更高。
配置中心
伴随着配置的增长,服务也有很多个配置,每个配置文件都各个不相同,其中,许多配置文件都是可以共用的,如果每个服务都去管理这些配置,会带来极大的麻烦,这个时候,需要引入基于Git的配置中心,去配置这个服务,例如Spring Cloud 体系中的,Spring Cloud Config,但是服务之间如何通信,这里使用 Spring Cloud Bus,即消息总线,作为配置中心,通知到配置体系中。
服务消费者
这里是相当经典的生产者,消费者模型,通过生产者,和消费者,统一进行布置,通过Spring Cloud Feign 远程调用,实现服务消费者,和生产者之间的相关联。实现经典的服务消费者和生产者之间的关系。
服务容错
当调用服务出错以后,服务如何保证整个体系不崩塌,这里就需要使用服务容错进行处理。这里称为服务雪崩,当出现服务雪崩的时候,整个服务链路会出现调用崩塌的情况。
Spring Cloud 组件中的 Spring Cloud HyStrix 实现了这种服务降级,与故障隔离。
网关
网关为整个系统,提供路由,鉴权,监控,负载均衡等功能,Spring Cloud 为此提供的解决方案有Zuul,与Gateway。
服务追踪
伴随着整个服务链路的增长,服务越来越多,排查问题,监控指标的时候,服务追踪变的相当的重要,Spring Cloud 体系提供的是,Sleuth,对整个服务链路进行追踪,并以图表的形式表现出来。
服务测试
在微服务体系中,一个服务可能会依赖其他的服务,这里使用服务测试来使用。通过Mock数据,实现服务的测试。
这里使用的是 Spring Cloud Contract
更多工具
Spring Cloud Security
Spring Cloud Security 的安全工具包,用于对Spring Security 提供基本的RBAC服务。
Spring Cloud Sleuth
用于进行相关的日志收集,实现分布式追踪的一种解决方案。
Spring Cloud Data Flow
用于进行大规模的数据处理。
Spring Cloud Stream
事件触发的机制,让其实现事件触发。
Spring Cloud Task
调度工作,定时任务,需要使用 Task
Spring Cloud Zookeeper
同属于 注册中心 Zookeeper 体系。
Spring Cloud Connectors
利用 Spring Cloud Connectors 实现云平台的搭建。
Spring Cloud Starters
开箱即用,可以实现Boot形式的启动项目。
Spring Cloud CLI
同上,使用命令行的方式实现开箱即用。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
面试官:说出八种消息队列的应用场景。啊?八种?
本文来源于公众号:胖滚猪学编程。转载请注明出处! 一个风度翩翩,穿着格子衬衣的中年男子,拿着一个满是划痕的mac向她走来,看着铮亮的头,胖滚猪心想,这肯定是顶级架构师吧!完了 结果面试官第一个问题,就让胖滚猪内心暗喜 面试官:消息队列这东西,你还熟悉吧?消息队列在企业中的应用场景有哪些? (这么基础的问题,手到擒来好吗?原来阿里不过如此。) 胖滚猪:嗯嗯,还挺熟悉的,可以用于流量削峰、应用解耦、异步处理。 面试官:就这三种吗?能不能再多说几个应用。起码八种吧。 (胖滚猪火冒三丈,尼玛八种哪来的?玩我呢?但是出于礼貌,还是毕恭毕敬的回答面试官) 胖滚猪:额。。有这么多吗?不好意思,一时之间想不起来了呢。 面试官:哎。。大家都知道的我们不屑,就想听听不一样的。回家去吧 胖滚猪内心挫败,平时五毛钱都舍不得花的抠猪,豪掷100大洋打了飞车来到导师胖滚熊家里求助。 胖滚熊:我先给你归纳了消息队列八种场景,如图所示,接下来我们再仔细说说每种场景的应用方案。 首先还是要介绍一下流量削峰、应用解耦、异步处理的具体应用,虽然网上文章到处都有,不过毕竟它们是老大,老大不出场小二也不敢乱动。如果你很熟悉了,...
- 下一篇
分享实录 | 云原生下的开发测试
【以下为分享实录,有删节】 测试环境管理之困与阿里巴巴的解决之道 在云原生时代下,软件的迭代速度越来越快,对测试的要求也越来越高,很多开发者开始使用Kubernetes来管理测试环境。在这个过程中,开发者会遇到很多困难,其中最主要的两个问题是:一、本地环境与Kubernetes集群网络不通问题;二、共用测试环境时,相互干扰的问题。 在阿里巴巴内部,我们主要通过扁平的内网IP和项目环境两个机制来解决以上痛点。扁平的内网IP主要是基于CNI(Conteinre Network Interface) 机制改造Kubernetes的IP逻辑实现的,可以使集群中的每个Pod分配到的IP与本地机器分配到的IP处于一个大的网络环境下,这样就可以解决本地环境和集群之间互通的问题。项目环境是基于RPC、消息中间件的虚拟环境,从表面上看,每个项目环境都是一
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,CentOS8安装Elasticsearch6.8.6
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- CentOS8编译安装MySQL8.0.19
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7