引言:搭建微服务架构就像是买电脑,使用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. Spring Boot中application.properties和application.yml文件

    application.properties和application.yml文件可以放在一下四个位置: 外置,在相对于应用程序运行目录的/congfig子目录里. 外置,在应用程序运行的目录里 内置, ...

  2. OSCACHE介绍

    Cache是一种用于提高系统响应速度.改善系统运行性能的技术.尤其是在Web应用中,通过缓存页面的输出结果,可以很显著的改善系统运行性能.本文中作者给大家介绍一个实现J2EE框架中Web应用层缓存功能 ...

  3. OSCache使用指南

    OSCache是当前运用最广的缓存方案, JBoss Hibernate Spring 等都对其有支持,下面简单介绍一下OSCache的配置和使用过程. 1.安装过程 从http://www.open ...

  4. Apollo核心概念之“Namespace”

    转载于https://github.com/ctripcorp/apollo,by Ctrip, Inc. Apollo核心概念之“Namespace” 1. 什么是Namespace? Namesp ...

  5. python——实现三级菜单选择的功能(原创)

    #coding:utf-8 dict={'beijing':{'haidingqu':['qinghe','keji'],'chaoyangqu':['q','w']},'shandong':{'li ...

  6. Catalan母函数法解表达式

  7. box-sizing: border-box

    如果在元素上设置了 box-sizing: border-box; 则 padding(内边距) 和 border(边框) 也包含在 width 和 height 中

  8. hexo博客的学习笔记

    这篇文章主要的作用是作为 .md文件打开,内部的格式为一个初学者对hexo以及markdown语法运用的笔记 1.Hexo的写文格式 最开始为文章的属性部分,以三横杠-开始,-结束.里面记录了文章的标 ...

  9. 手工创建 efi,msr 分区 · Virgil Chan

    昨天在帮同学装 win10 的时候,不小心(不知道那是什么东西)把原系统的 efi 和 msr 盘删了,用 WinNTsetup 安装时 EFI PART 总显示红叉,安装后也进不去系统,想想应该是找 ...

  10. 5G-NR物理信道与调制-下行链路v1.1.0

    上接<5G-NR物理信道与调制v1.1.0>下行链路 References Definitions, symbols and abbreviations 帧结构与物理资源 通用函数 上行链 ...