什么是微服务?

"微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于HTTP的Restful API).每个服务都围绕着具体的业务进行构建,并且能够被独立的部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中的服务管理机制,对具体的一个服务而言,应根据业务上下文,选择合适的语言、工具对其进行构" ——Martin Fowler的博客

SpringCloud简介

SpringCloud用来干嘛?

学习新技术,官网会给出最权威的答案,不妨看看官网对SpringCloud的介绍:

https://spring.io/projects/spring-cloud

Spring Cloud provides tools for developers to quickly build some of the common patterns in distributed systems (e.g. configuration management, service discovery, circuit breakers, intelligent routing, micro-proxy, control bus, one-time tokens, global locks, leadership election, distributed sessions, cluster state).

Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具,如:配置管理【configuration management】,服务发现【service discovery】,熔断机制【circuit breakers】,智能路由【intelligent routing】,微代理【micro-proxy】,控制总线【control bus】,一次性令牌【one-time tokens】,全局锁【global locks】,leader投票选举【leadership election】,分布式会话【distributed sessions】,集群状态【cluster state】。

特性

Spring Cloud 侧重提供开箱即用的典型用例和允许自由扩展的机制。

  • Distributed/versioned configuration 分布式/版本控制配置
  • Service registration and discovery 服务注册与发现
  • Routing 路由
  • Service-to-service calls 服务到服务的调用
  • Load balancing 负载均衡
  • Circuit Breakers 熔断机制
  • Global locks 全局锁
  • Leadership election and cluster state 选举与集群状态管理
  • Distributed messaging 分布式消息

构建注意事项

从0到1构建新的SpringCloud工程

最简单的方法是访问start.spring.io网站,选择合适的SpringBoot和SpringCloud版本,进行构建。

在已有SpringBoot应用程序基础上构建SpringCloud

需要注意版本兼容性,确定你需要的SpringCloud版本,这由原本存在的SpringBoot版本决定。目前的版本依赖关系如下:

需要注意的是Dalston,Edgware,Finchley已经不再支持。

更多详细的版本对应关系,可以访问网址:https://start.spring.io/actuator/info

spring-cloud: {//...省略    Greenwich.M1: "Spring Boot >=2.1.0.M3 and <2.1.0.RELEASE",    Greenwich.SR6: "Spring Boot >=2.1.0.RELEASE and <2.1.999.BUILD-SNAPSHOT",    Greenwich.BUILD-SNAPSHOT: "Spring Boot >=2.1.999.BUILD-SNAPSHOT and <2.2.0.M4",    Hoxton.SR9: "Spring Boot >=2.2.0.M4 and <2.3.7.BUILD-SNAPSHOT",    Hoxton.BUILD-SNAPSHOT: "Spring Boot >=2.3.7.BUILD-SNAPSHOT and <2.4.0.M1",    2020.0.0-M3: "Spring Boot >=2.4.0.M1 and <=2.4.0.M1",    2020.0.0-M4: "Spring Boot >=2.4.0.M2 and <=2.4.0-M3",    2020.0.0-SNAPSHOT: "Spring Boot >=2.4.0-M4"}spring-cloud-alibaba: {2.2.1.RELEASE: "Spring Boot >=2.2.0.RELEASE and <2.3.0.M1"}

官方建议:官方通过service release【SR】,将Bug修复和向后兼容的特性添加到每个版本系列中,因此,一旦确定要使用哪个版本的SpringCloud,就应使用该版本系列的最新服务版本。

了解版本对应关系约束必要性之后,便可以引入适当的Spring Cloud BOM了。

Hoxton.SR8org.springframework.cloud            spring-cloud-dependencies            ${spring.cloud-version}pomimport

和SpringBoot一样,SpringCloud工程也包含starters,你可以为其添加许多不同的特性,并将其作为依赖加入项目之中。大多数情况下,你只需要将starters加入到类路径下就可以启用功能。以下展示如何将Spring Cloud Config客户端和Spring Cloud Netflix Eureka客户端添加到应用程序:

org.springframework.cloud        spring-cloud-starter-config    org.springframework.cloud        spring-cloud-starter-netflix-eureka-client        ...

微服务架构

下图为杨波老师于2018年5月7日在一个可供中小团队参考的微服务架构技术栈一文中,结合自身的实战落地经验,总结的一套贴近国内技术文化特色的轻量级微服务参考技术栈。

SpringCloud的主要项目:

这是SpringCloud官方在维护的项目集合,有些组件功能完全可以被更优秀的框架替代,这个视情况而定。

SpringCloud组件选型

原文链接:https://www.cnblogs.com/summerday152/p/14001421.html

如果觉得本文对你有帮助,可以转发关注支持一下

springcloud官方文档_通俗易懂!Spring Cloud简介:官方文档翻译版相关推荐

  1. springcloud官方文档_springcloud-microservice 快速构建分布式系统

    springcloud-microservice Spring Cloud 快速搭建微服务 spring cloud 为开发人员提供了快速构建分布式系统的一些工具,包括配置管理.服务发现.断路器.路由 ...

  2. dubbo官方文档_狂神说SpringBoot17:Dubbo和Zookeeper集成

    狂神说SpringBoot系列连载课程,通俗易懂,基于SpringBoot2.2.5版本,欢迎各位狂粉转发关注学习.未经作者授权,禁止转载 分布式理论 什么是分布式系统? 在<分布式系统原理与范 ...

  3. tensorflow官方文档_开源分享:最好的TensorFlow入门教程

    如果一门技术的学习曲线过于陡峭,那么我们在入门时的场景往往是,一鼓作气,没入门,再而衰,三而竭.演绎一出从入门到放弃的败走麦城. 今天发现一个入门TensorFlow的宝藏,迫不及待的分享给大家.这个 ...

  4. pyecharts官方文档_中国疫情地图pyecharts

    共助医患渡江南, 同为华人望平安. 战有常山似鼠窜, 疫有谣传使心寒. 这次咱们不说疫情,咱们来说说怎么画一个中国疫情图. 这里用到了pyecharts,这个库里包含了非常多的图 https://py ...

  5. dubbo官方文档_不可忽视的Dubbo线程池

    问题描述 线上突然出现Dubbo超时调用,时间刚好为Consumer端设置的超时时间. 有好几个不同的接口都报超时了 第1次调用超时,第2次(或第3次)重试调用非常快(正常水平) Dubbo调用超时的 ...

  6. spark官方文档_这些未在 Spark SQL 文档中说明的优化措施,你知道吗?

    本文来自上周(2020-11-17至2020-11-19)举办的 Data + AI Summit 2020 (原 Spark+AI Summit),主题为<Spark SQL Beyond O ...

  7. react router官方文档_阿里开源可插拔 React 跨端框架 UmiJS

    点击上方"开发者技术前线",选择"星标" 18:30 在看 真爱 作者:Tamic  |  编辑: 可可 阿里之前开源:阿里闲鱼开源 Flutter 应用框架 ...

  8. javascript官方文档_基于Javascript编写的开源Markdown和HTML相互转换器——showdown

    介绍 showdown是一个基于Javascript编写的开源Markdown和HTML相互转换器,showdown可以用在客户端(浏览器)或者服务端(nodejs).shodown还支持原始规范中未 ...

  9. C#_08_官方文档_语言介绍

    C# 官方文档_C#语言介绍篇章 https://docs.microsoft.com/zh-cn/dotnet/csharp/tour-of-csharp/ C# 语言介绍 C#(读作"S ...

最新文章

  1. python如何读取公共盘的文档_如何使用 Sphinx 给 Python 代码写文档 | Linux 中国
  2. SpringBoot学习笔记2
  3. r矢量球坐标系旋度_三个常用坐标系的认识及矢量旋度表达式的证明
  4. [转]深一层看Singleton
  5. c#和javascript分别轻松实现计算24点
  6. QT 中控件内坐标转换为父窗口坐标或屏幕坐标
  7. 中巨伟业加密芯片—SMEC98SP (SE98)在产品授权生产防复制的应用方法
  8. Matlab中进行高斯滤波-学习笔记
  9. 手把手教你上架HarmonyOS(鸿蒙)应用
  10. 在postgre中进行搜索关键字查询的方法
  11. kaggle入门--泰坦尼克号之灾(手把手教你)
  12. 猜拳php代码,微信猜拳游戏源码
  13. Personalized Defect Prediction
  14. Laya发布魅族小游戏,调试前步骤
  15. GX works2 三菱PLC 显示注释后代码行变宽的解决方法
  16. 阿里云视频服务之点播服务
  17. 机器学习面试题 (一)
  18. 如何把数据思维应用到业务经营中
  19. 中国经济稳中有进态势依旧
  20. “4K”标准/技术一网打尽

热门文章

  1. 扩展枚举功能的两种方法
  2. java aspectj_Java:AspectJ的异常翻译
  3. 通过Spring Boot了解H2 InMemory数据库
  4. Apache Derby数据库用户和权限
  5. 使用Datastax Java驱动程序与Cassandra进行交互
  6. 跟踪反应流–将Spring Cloud Sleuth与Boot 2结合使用
  7. java 断点_每个Java开发人员应拥有的持久断点
  8. ssh 看apache_使用Apache KeyedObjectPool的ssh连接池
  9. 阿帕奇跨域_阿帕奇骆驼备忘单
  10. Neo4j:空值如何工作?