前言


 SpringCloud是基于SpringBoot的一整套实现微服务的框架。他提供了微服务开发所需的配置管理、服务发现、断路器、智能路由、微代理、控制总线、全局锁、决策竞选、分布式会话和集群状态管理等组件。最重要的是跟spring boot框架一起使用的话,会让你开发微服务架构的云服务非常好的方便。

SpringBoot旨在简化创建产品级的 Spring 应用和服务,简化了配置文件,使用嵌入式web服务器,含有诸多开箱即用微服务功能。

基于SpringCloud的微服务框架:

Spring cloud子项目包括:

  1. Spring Cloud Config:配置管理开发工具包,可以让你把配置放到远程服务器,目前支持本地存储、Git以及Subversion。
  2. Spring Cloud Bus:事件、消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config联合实现热部署。
  3. Spring Cloud Netflix:针对多种Netflix组件提供的开发工具包,其中包括Eureka、Hystrix、Zuul、Archaius等。
  4. Netflix Eureka:云端负载均衡,一个基于 REST 的服务,用于定位服务,以实现云端的负载均衡和中间层服务器的故障      转移。
  5. Netflix Hystrix:容错管理工具,旨在通过控制服务和第三方库的节点,从而对延迟和故障提供更强大的容错能力。
  6. Netflix Zuul:边缘服务工具,是提供动态路由,监控,弹性,安全等的边缘服务。
  7. Netflix Archaius:配置管理API,包含一系列配置管理API,提供动态类型化属性、线程安全配置操作、轮询框架、回调      机制等功能。
  8. Spring Cloud for Cloud Foundry:通过Oauth2协议绑定服务到CloudFoundry,CloudFoundry是VMware推出的开源PaaS     云平台。
  9. Spring Cloud Sleuth:日志收集工具包,封装了Dapper,Zipkin和HTrace操作。
  10. Spring Cloud Data Flow:大数据操作工具,通过命令行方式操作数据流。
  11. Spring Cloud Security:安全工具包,为你的应用程序添加安全控制,主要是指OAuth2。
  12. Spring Cloud Consul:封装了Consul操作,consul是一个服务发现与配置工具,与Docker容器可以无缝集成。
  13. Spring Cloud Zookeeper:操作Zookeeper的工具包,用于使用zookeeper方式的服务注册和发现。

SpringCloud优势

微服务的框架那么多比如:dubbo、Kubernetes,为什么就要使用Spring Cloud的呢?

  • 产出于spring大家族,spring在企业级开发框架中无人能敌,来头很大,可以保证后续的更新、完善。比如dubbo现在就差不多死了(后面又卷土重来重新开始更新了)
  • 有spring Boot 这个独立干将可以省很多事,大大小小的活spring boot都搞的挺不错。(框架搭建快捷,几分钟就能跑起一个子项目,便于快捷开发。)
  • 作为一个微服务治理的大家伙,考虑的很全面,几乎服务治理的方方面面都考虑到了,方便开发开箱即用。(一站式构建微服务,对于中小型公司有利,不需要花费大量人力机器实现负载均衡,熔断等措施)
  • Spring Cloud 活跃度很高,教程很丰富,遇到问题很容易找到解决方案(源于Spring家族,用户基数大,技术分享帖也多)
  • 轻轻松松几行代码就完成了熔断、均衡负责、服务中心的各种平台功能(功能齐全)

Spring Cloud 也有一个缺点,只能使用Java开发,不适合小型独立的项目。

通俗来说,SpringCloud就像是一体机,拿回来就可以用,不需要开发人员去深入了解各个功能(服务注册(Eureka),API gateway(Zuul),熔断器(Hystrix)等等),但是缺点就是如果某些功能想用其他框架代替,开发者可能要去研究一下其他框架与Spring Could 的整合(DIY 组装电脑),需要了解其运行原理。

SpringCloud(一):SpringCould 框架预览的更多相关文章

  1. Hibernate框架预览以及基础介绍

    前言 从本节我们开始进入到对于Hibernate框架的学习,当前Hibernate框架还未正式发布6.0稳定版本,所以这里我们以5.4.12Final版本进行讲解. Hibernate框架 Hiber ...

  2. 3.Magicodes.NET框架之路——预览(一)

    3.Magicodes.NET框架之路——预览(一) 前言 一眨眼,已经过去两个多月了 ,哥已经火力全开了(业余时间和精力,甚至为此放弃了各种私活),所以大家不要抱怨慢哈.编程犹如逆水行舟,不进则退. ...

  3. 最好用的js前端框架、组件、文档在线预览插件

    这里收集的都是个人认为比较好的js框架.组件 js前端ui框架 此处列举出个人认为最好的几个框架(排序即排名),现在好点的框架商用都需要付费,以下几个也不例外,但是由于组件丰富,都可以作为企业应用的完 ...

  4. 原创:MVC 5 实例教程(MvcMovieStore 新概念版:mvc5.0,EF6.01) - 2、数据框架 和 功能预览

    说明:MvcMovieStore项目已经发布上线,想了解最新版本功能请登录 MVC 影视(MvcMovie.cn) 进行查阅.如需转载,请注明出处:http://www.cnblogs.com/Dod ...

  5. 安装.NET Core 3.0预览版后VS项目目标框架中不显示的解决方法

    下载了微软在GitHub上的cSharpSamples项目后发现其中一些项目使用框架为.NET Core3.0,就下载了.NET Core3.0,但发现项目依然不可用,编译时提示如下 当前 .net ...

  6. 解决pyspider框架web预览框过小问题

    解决pyspider框架web预览框过小问题 Chrome 使用pyspider框架时,web预览框只有一小条: 解决办法: 找到debug.min.css文件,替换为如下内容: body{margi ...

  7. Yii2 框架下bootstrap 弹窗预览视频等~

    Yii2 本身已经引用了'yii\bootstrap\BootstrapAsset',所以使用bootstrap 非常简洁. 1 在PHP页面引用命名空间 use app\assets\AppAsse ...

  8. 微信小程序H5预览页面框架(二维码不隐藏)

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  9. 微信小程序H5预览页面框架

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

随机推荐

  1. mac 环境下Android 反编译源码

    mac环境下Android 反编译 一.需要的工具 apktool:反编译APK文件,得到classes.dex文件,同时也能获取到资源文件以及布局文件. dex2jar:将反编译后的classes. ...

  2. HDU-3336-Count the string(扩展KMP)

    链接: https://vjudge.net/problem/HDU-3336 题意: It is well known that AekdyCoin is good at string proble ...

  3. Liquibase使用(转)

    文章目录 介绍快速使用Springboot中引入依赖配置日志文件ChangeLog编写变更记录ChangeSetMaven中引入依赖配置liquibase.properties编写变更记录Change ...

  4. python中的list,tuple,dict,set简介---陈雨童

    变量和对象 变量把对象和自己连接起来(指针连接对象空间),引用建立了变量和对象之间的映射关系,这就是引用.引用完成,就实现了赋值.变量通过对象的内存地址指向对象,类似于软链接 将变量a赋值给变量b,其 ...

  5. npoi 导出

    npoi 导出 public void Output(DataTable table, string SheetName, string reportName) { string result = s ...

  6. codevs 1094 FBI树 2004年NOIP全国联赛普及组 x

                         题目描述 Description 我们可以把由“0”和“1”组成的字符串分为三类:全“0”串称为B串,全“1”串称为I串,既含“0”又含“1”的串则称为F串. ...

  7. 实现同时将一批.bmp文件转换成.mat格式

    %% 功能:实现同时对一批.bmp文件的转换成.mat格式PicFormat = {'*.bmp','Bitmap image (*.bmp)';... '*.jpg','JPEG image (*. ...

  8. nginx配置服务

    在nginx中的conf的文件夹里面的nginx.conf文件中 server { listen 8888; server_name localhost; location / { root C:/P ...

  9. Ansible常用模块之系统类模块

    cron模块 管理远程主机上的计划任务 [root@tiandong ansible]# ansible all -m cron -a "name='cron test' minute=5 ...

  10. JVM-GC算法(一)-标记清除算法

    首先,我们得知道根搜索算法,它可以解决我们应该回收哪些对象的问题,但是它显然还不能承担垃圾搜集的重任,因为我们在程序(程序也就是指我们运行在JVM上的JAVA程序)运行期间如果想进行垃圾回收,就必须让 ...