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

什么是微服务?

"微服务架构是一种架构模式,它提倡将单一应用程序划分成一组小的服务,服务之间相互协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务和服务之间采用轻量级的通信机制相互沟通(通常是基于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版本决定。目前的版本依赖关系如下:

76f57b6f695b49761c193776cb201096.png

需要注意的是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日在一个可供中小团队参考的微服务架构技术栈一文中,结合自身的实战落地经验,总结的一套贴近国内技术文化特色的轻量级微服务参考技术栈。

d1e3c607817db7a68971fc7403bc901e.png

SpringCloud的主要项目:

7df6260376f70cece7f31be3b99fdfa8.png

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

SpringCloud组件选型

1006d756aaa783801a6d061c1f08aa62.png
f1ed0463bafb687eb8f08705aa9c6c7b.png

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336242.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【RTMP协议分析与抓包实测】

传输协议 RTMP基本通讯 RTMP基于TCP之上传输 TCP三次握手,相关文章链接&#xff0c;TCP三次握手流程 进行握手 c- --> s 发送c0c1 c ---> s 发送c2 s ---> c 发送s0s1s2 建立RTMP连接 真实建立连接的场景 c- --> s RTMP发送connect建立连接 s ---> c 协商(滑动…

【WebRTC---入门篇】(十三)WebRTC音视频数据采集

音视频采集API false表示不采集,true表示采集 WebRTC API适配 获取音视频设备的访问权限 通过 return navigator.mediaDevices.enumerateDevices();/*返回一个promise,为了获取音视频的权限*/ 视频约束

app登录界面背景 css_计算机毕业设计中Java web实现简登录页面(MyBatis+jsp+servlet+html+css+javascript)...

点击上方“蓝字”&#xff0c;关注我们.本文利用MyBatisjspservlethtmlcssjavascript实现了一个简单的登录页面。对用户输入的用户名和密码就行校验&#xff0c;校验通过则登录成功&#xff0c;密码和用户信息保存在mysql表中&#xff0c;通过MyBatis访问(MyBatis相关知识可参考…

android strm,Android 关于so文件的随记

1.背景&#xff1a;项目中要集成商汤的活体检测sdk&#xff0c;2.遇到的问题&#xff1a;商汤提供的demo 可以正常运行&#xff0c;但是将sdk集成至项目中时一直报错&#xff0c;但是商汤侧却没办法提供具体的报错原因3.解决问题&#xff1a;反编译商汤的源码发现&#xff0c;报…

【WebRTC---入门篇】(十五)WebRTC信令服务器实现

如何使用socket.io发送消息 io代表整个节点

activiti高亮显示图片_如今透明LED显示屏成为广告橱窗,它们之间有什么关联?...

如今我们在街道行走时&#xff0c;我们就会看到各种玻璃橱窗&#xff0c;这是商家想利用橱窗进行不同产品宣传角度。其实无论是海报、灯箱或是实物展示&#xff0c;这些都是商家通过橱窗广告进行来吸引消费者&#xff0c;而现在是5G时代到来使橱窗数字化营销成为了一种新的趋势…

theme editor android,谷歌宣布将于下月停用 Material Theme Editor

使用 Material Theme Editor&#xff0c;开发人员可创建和自定义 Material 主题&#xff0c;包括颜色、形状、版式等等。在 Material Theme Editor 中&#xff0c;可根据不同部分依次选择颜色&#xff0c;并应用于所有组件&#xff0c;还可调整对比度&#xff0c;根据单一颜色自…

【WebRTC---入门篇】(十六)端对端1V1传输基本流程

RTCPeerConnection 媒体协商 setLocalDescription方法 ,收集所有候选者。 setRemoteDescription方法, 放到远端的描述槽中。 协商状态变化

pytorch dataset_【小白学PyTorch】16.TF2读取图片的方法

<>扩展之tensorflow2.0 | 15 TF2实现一个简单的服装分类任务小白学PyTorch | 14 tensorboardX可视化教程小白学PyTorch | 13 EfficientNet详解及PyTorch实现小白学PyTorch | 12 SENet详解及PyTorch实现小白学PyTorch | 11 MobileNet详解及PyTorch实现小白学PyTorch | 10 …

【WebRTC---入门篇】(十七)实现1V1音视频实时互动直播系统

STUN/TURN服务器搭建 详细搭建过程 RTCPeerConnection

junit5和junit4_JUnit 5 –架构

junit5和junit4现在我们知道如何设置JUnit 5并使用它编写一些测试 &#xff0c;下面让我们看一下。 在本文中&#xff0c;我们将讨论JUnit 5架构以及采用这种方式的原因。 总览 这篇文章是有关JUnit 5的系列文章的一部分&#xff1a; 建立 基本 建筑 条件 注射 … JUni…

华为配备鸿蒙系统的手机,华为P50/新平板双双来袭!全球首发鸿蒙系统:配置都非常强悍...

【12月12日讯】相信大家都知道&#xff0c;华为方面已经正式官宣&#xff0c;将会在12月16日正式推出鸿蒙系统首个手机Bate版本&#xff0c;但也有很多网友们担忧&#xff0c;华为手机在脱离了Android系统以后&#xff0c;鸿蒙OS系统是否真的可以击败Android系统&#xff0c;第…

【WebRTC---入门篇】(十八)WebRTC非音视频数据传输

WebRTC传输非音视频重要API createDataChannel options ordered 在传输非音视频的时候是否是按序到达的。 maxPacketLifeTime/maxRetransmits 最大包存活时间;最大传输次数。两者二选一 negotiated ID 唯一标识 DataChannel事件

datatable使用_使用Streamlit从简单的Python脚本创建交互式WebApp

如果有人告诉您可以使用150-200行代码创建交互式Web应用程序&#xff0c;该怎么办&#xff1f; 有趣的权利。 Streamlit为您提供了使用简单的python脚本和一些streamlit调用来创建漂亮的Web应用程序的相同机会。Streamlit是一个开放源代码框架&#xff0c;用于以最快的方式创建…

opengl如何画出一个球_OpenGL-Controlling and Monitoring the Pipeline

全球图形学领域教育的领先者、自研引擎的倡导者、底层技术研究领域的技术公开者&#xff0c;东汉书院在致力于使得更多人群具备内核级竞争力的道路上&#xff0c;将带给小伙伴们更多的公开技术教学和视频&#xff0c;感谢一路以来有你的支持。我们正在用实际行动来帮助小伙伴们…

【WebRTC---入门篇】(二十)WebRTC核心之SDP详解

SDK规范 会话层 媒体层 SDP规范相关参考 WebRTC中的SDP

junit5和junit4_JUnit 5 –条件

junit5和junit4最近&#xff0c;我们了解了JUnit的新扩展模型以及它如何使我们能够将自定义行为注入测试引擎。 我向你保证要看情况。 现在就开始吧&#xff01; 条件允许我们在应该执行或不应该执行测试时定义灵活的标准。 它们的正式名称是“ 条件测试执行” 。 总览 本系列…

python opencv输出mp4_10分钟学会使用YOLO及Opencv实现目标检测

点击边框调出视频工具条 计算机视觉领域中&#xff0c;目标检测一直是工业应用上比较热门且成熟的应用领域&#xff0c;比如人脸识别、行人检测等&#xff0c;国内的旷视科技、商汤科技等公司在该领域占据行业领先地位。相对于图像分类任务而言&#xff0c;目标检测会更加复杂一…