引言:搭建微服务架构就像是买电脑,使用SpringCloud就是在买品牌机。

前言

昂,美好的天气里,不想直接说技术,给小伙伴萌看看傍晚的天空吧。

—— 能找到天上的北极星吗?

上一篇文章中,通过一个简单的小故事,轻松愉快的讲解了架构的演变,以及为啥会有微服务,什么是微服务。不过在最后留下了一个小疑问:将架构设计为微服务需要一整套技术,解决服务调用,服务治理,服务监控等问题。

那么这些技术怎么来呢?

答案就是:SpringCloud。

本文就会详细讲解

  • 什么是SpringCloud
  • SpringCloud和SpringBoot的关系
  • SpringCloud版本选择

什么是SpringCloud

引言:搭建微服务架构就像是买电脑,使用SpringCloud就是在买品牌机。

SpringCloud,基于SpringBoot提供了一套微服务解决方案,包括服务注册与发现,配置中心,全链路监控,服务网关,负载均衡,熔断器等组件,除了基于NetFlix的开源组件做高度抽象封装之外,还有一些选型中立的开源组件。

NetFlix 是美国的一个在线视频网站,微服务业的翘楚,他是公认的大规模生产级微服务的杰出实践者,NetFlix的开源组件已经在他大规模分布式微服务环境中经过多年的生产实战验证,因此spring cloud中很多组件都是基于NetFlix组件的封装

在上篇文章中我们讲到微服务是一套技术的合集,这些技术里面有服务调用技术,负载均衡技术,网关技术等等大大小小十几个技术。

那么问题来了?在开发中,我们怎么才能找到这样一整套技术呢?

第一种方案:就是自己需要什么找什么技术,但是这样会有一个问题,技术和技术之间往往都会有一些兼容性的问题,要解决这些问题,需要很强的技术示例,中小型企业一般没有这样的实力。

第二种方案:一些有实力的公司会自己寻找一整套技术,并且做一些封装和整合,然后开源让大家使用。SpringCloud就是这样的技术,SpringCloud是官方封装好的一整套分布式微服务的技术解决方案,我们也称之为微服务全家桶。

举个通俗的例子:开发微服务相当于买一台电脑

  1. 自己找微服务的技术相当于自己组装电脑,需要自己选配零部件,并且做组装整合,一般人搞不定。
  2. 使用SpringCloud相当于直接买了一个联想的电脑,买品牌机,厂家会把CPU 显卡等等都帮你配置好了,买来就能用。

SpringCloud包含的技术:

.....等一二十个技术,网址:https://www.springcloud.cc/

SpringCloud 和 SpringBoot的关系

用过SpringBoot的小伙伴都知道,SpringBoot开发之所以方便快捷,就是因为SpringBoot自动配置可以让我们在开发的时候不写基本的配置,通过完美的封装让应用可以做到一键启动和部署,而SpringCloud多个技术整合,最复杂的过程往往是配置。

所以SpringCloud选择SpringBoot作为技术底层,对目前各家公司开发的比较成熟、经得起实际考验的服务框架组合起来,进行二次封装,屏蔽掉了复杂的配置和实现原理。让我们使用SpringCloud像使用SpringBoot一样的简单。

SpringCloud和SpringBoot的版本选择

关于SpringCloud和SpringBoot的版本选择问题,可以见官网:https://spring.io/projects/spring-cloud/

我们选择的是 Finchley 版本的SpringCloud,SpringBoot的版本就要选择 2.0.X。

解释一下 SpringCloud 版本号:SpringCloud 版本的命名规范实际上是 英文单词 SRX 的形式命名

  • SpringCloud的版本号没有采用 数字 命名,而是英文的单词,?Angel、Brixton、Camden等都是伦敦地铁站的名称,它们按照字母顺序发行。这个是主版本号,我们一般会称之为 F版本,D版本。
  • 后面的SR表示“Service Release”,一般表示Bug修复;在SR版本发布之前,会先发布一个Release版本,例如Camden RELEASE。

总结

恭喜你完成了本章的学习,为你鼓掌!如果本文对你有帮助,请帮忙点赞,评论,转发,这对作者很重要,谢谢。

要掌握SpringCloud更多的用法,请持续关注本系列教程。

欢迎关注本人公众号:鹿老师的Java笔记,将在长期更新Java技术图文教程和视频教程,Java学习经验,Java面试经验以及Java实战开发经验。

F版本SpringCloud 2—什么是SpringCloud?SpringCloud版本选择的更多相关文章

  1. springcloud 入门 1 (浅谈版本关系)

    SpringCloud: 参考官网:https://projects.spring.io/spring-cloud/            中文版         https://springclou ...

  2. java框架之SpringCloud(1)-微服务及SpringCloud介绍

    微服务概述 是什么 业界大牛 Martin Fowler 这样描述微服务: 参考[微服务(Microservices)-微服务原作者Martin Flower博客翻译]. 下面是关于上述博客中的部分重 ...

  3. Ubuntu通过apt-get安装指定版本和查询指定软件有多少个版本

    一.通过apt-get安装指定版本 apt-get install <<package name>>=<<version>> 二.查询指定软件有多少个版 ...

  4. 浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案

    浅析py-faster-rcnn中不同版本caffe的安装及其对应不同版本cudnn的解决方案 本文是截止目前为止最强攻略,按照本文方法基本可以无压力应对caffe和Ross B. Girshick的 ...

  5. JBoss和Tomcat版本、及Servlet、JSP规范版本对应一览 【转】

    原文地址:http://blog.csdn.net/hills/article/details/40896357 JBoss和Tomcat版本.及Servlet.JSP规范版本对应一览 JBossAS ...

  6. PHP集成环境自定义设置PHP版本,同时运行多个php版本,700个PHP版本随时切换,一键开启常用模块。

    本文采用我自己开发的纯绿色版WAMP环境(我将这个WAMP环境命名为PHPWAMP) (PHPWAMP默认集成VC,不需要单独安装) 那么什么是WAMP环境?WAMP这个词是什么意思? Windows ...

  7. JDK、Eclipse、Myeclipse、Tomcat等各种软件的版本详解(写给对版本和兼容性问题焦头烂额的你)

    这篇文章我们来探讨一下关于JDK.Eclipse.Myeclipse.Tomcat的版本问题.一.关于版本的几个概念1.32位和64位两个版本:    简言之,64位的操作系统支持识别4G以上的内存条 ...

  8. Ubuntu通过apt-get安装指定版本和查询软件源有多少个版本

    一.通过apt-get安装指定版本 apt-get install <<package name>>=<<version>> 二.查询指定软件有多少个版 ...

  9. 分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录

    分享vs低版本开发的项目到VS高版本时遇到的4个小问题解决之记录 原文首发: http://anforen.com/wp/2017/08/extensionattribute_compilerserv ...

  10. visual studio 2017 installer 安装包制作过程出现的问题---此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序,可以从Web获得.NET Framework 。要立即做此事吗?

    图一 visual studio 2017 installer 打包完成以后进行安装时,提示信息 “安装此安装程序需要.NET Framework 版本 3.5,请安装该版本,然后重新运行此安装程序, ...

随机推荐

  1. 吴裕雄--天生自然 R语言开发学习:广义线性模型(续一)

    #----------------------------------------------# # R in Action (2nd ed): Chapter 13 # # Generalized ...

  2. mac下查找某个文件,which、whereis、find、locate

    which命令只是根据PATH环境变量查找. whereis命令只是根据标准可执行文件路径进行查找. 例如: 如果要找的不是可执行文件,而且想在整个系统上找,怎么办? find / -name xxx

  3. 分布式文件系统与HDFS

    HDFS,它是一个虚拟文件系统,用于存储文件,通过目录树来定位文件:其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色. HDFS 的设计适合一次写入,多次读出的场景,且不 ...

  4. GeoMesa-单机搭建

    系统安装 CentOS部署 新建虚拟电脑 类型:Linux 版本:Red Hat(64-bit) 创建虚拟硬盘 [x] 动态分配(磁盘占用较小) [ ] 固定大小(使用起来较快) 安装设置(设置roo ...

  5. Flutter调研(1)-Flutter基础知识

    工作需要,因客户端有部分页面要使用flutter编写,需要QA了解一下flutter相关知识,因此,做了flutter调研,包含安装,基础知识与demo编写,第二部分是安装与环境配置. —— Flut ...

  6. Python基本小程序

    目录 Python基本小程序 一.筛选从1-100所有的奇数 二.筛选从0-100所有的偶数 三.求1-100之间所有的偶数和,奇数和 四.三个数由小到大输出 五.四个数字重复数字的三位数 Pytho ...

  7. LeetCode--链表1-单链表

    LeetCode--链表1-单链表 单链表模板 初始化 头部插入 尾部插入 删除节点 Index插入 Index返回对应的节点指针和val值 class MyLinkedList { private: ...

  8. 7-5 jmu-python-分段函数1 (10 分)

    本题目要求计算下列分段函数f(x)的值(x为从键盘输入的一个任意实数): 输入格式: 直接输入一个实数给 x,没有其他任何附加字符. 输出格式: 在一行中按“f(x)=result”的格式输出,其中x ...

  9. 小白学 Python 数据分析(13):Pandas (十二)数据表拼接

    人生苦短,我用 Python 前文传送门: 小白学 Python 数据分析(1):数据分析基础 小白学 Python 数据分析(2):Pandas (一)概述 小白学 Python 数据分析(3):P ...

  10. JS 获取一段时间内的工作时长小时数

    本来想是想找轮子的,但是并没有找到能用的,多数都是问题很大,所以就自己写了一个 需求说明 支持自选时间段,即开始时间与结束时间根据用户的上班及下班时间判定返回小时数 技术栈 moment.js 思考过 ...