SpringCloud高级应用-1(SpringCloud技术栈概览)

news2024/9/29 11:34:04

1SpringCloud技术栈

开发分布式系统可能具有挑战性,复杂性已从应用程序层转移到网络层,并要求服务之间进行更多的交互。将代码设为“cloud-native”就需要解决12-factor,例如外部配置,服务无状态,日志记录以及连接到备份服务之类的问题,Spring Cloud项目套件包含使您的应用程序在云中运行所需的许多服务。

12-factor(云原生应用程序的12要素):

 SpringCloud架构:

  SpringCloud技术栈

 SpringCloud技术栈非常丰富,这也是SpringCloud为什么在微服务领域中如此受欢迎的原因之一,技术栈如上图,在服务注册与配置、服务调用、微服务网关、消息组件、链路追踪、配置中心、安全控制、将极限流等诸多方面技术栈都比较完善,而且阿里巴巴也出了一套SpringCloud Alibaba版本,主要集成了Alibaba中主流的技术栈。

 2.SpringCloud经典技术介绍

微服务项目近几年非常火爆,推出来的相关技术解决方案热度也非常活跃,但SpringCloud技术栈中也有一部分技术组件在逐步被淘汰或者闭源,但都有更优秀的技术方案替代。在不久的将来,那些闭源或者将被淘汰的技术有很大概率将不在项目中使用,所以我们学习的时候可以直接学习更优秀的替代技术方案。

Eureka闭源:

上面英文大概意思是:Eureka 2.0 的开源工作已经停止,依赖于开源库里面的 Eureka 2.x 分支构建的项目或者相关代码,风险自负。

Eureka在微服务项目中主要承担服务注册与发现工作,可以替代的技术方案比较多,而且很多方案都比Eureka优秀,比如Consul、Nacos等。

Hystrix停止更新:

Hystrix在项目中主要做服务熔断、降级,但官方宣布将不在开发,目前处于维护状态,但官方表示 1.5.18 版本的 Hystrix 已经足够稳定,可以满足 Netflix 现有应用的需求。

关于Hystrix可替代的产品也比较多,比如官方推荐的resilience4jresilience4j是一个轻量级熔断框架,但resilience4j目前在国内使用频率还不高,功能也不够强,我们更推荐使用功能更加强悍的SpringCloud Alibaba Sentinel

Zuul过时:

Zuul是一个微服务网关技术,但Zuul1.x使用的是阻塞式的API,不支持长连接,没有提供异步,高并发场景下性能低。SpringCloud官网推出了全新的微服务网关技术SpringCloud Gateway,比Zuul性能更强悍、功能更丰富、且支持异步等多种特性。

SpringCloud Config实用性差

SpringCloud Config主要用于管理项目的配置文件,每次要使用SpringCloud Config的时候,总得经过一波操作和配置的折腾,才可以使用SpringCloud Config实现配置管理,而且单独使用无法支持配置实时刷新,在项目中用起来,真比较头疼的。

当前有很多技术可以取代SpringCloud Config,比如携程的ApolloSpringCloud Alibaba Nacos,功能都比SpringCloud Config强,并且支持实时刷新配置。

SpringCloud Bus实用性差:

SpringCloud Bus是服务消息总线,主要实现通知多个服务执行某个任务,一般和SpringCloud Config一起使用。这个功能其实不太实用,因为很多任务组件基本都具备消息通知功能,比如Nacos、Apollo都能实现所有服务订阅执行相关操作。

3.SpringCloud项目场景

微服务技术目前已经在很多国内外大厂中都在广泛使用,那么在项目中该如何使用微服务技术呢?我们以滴滴快车业务未来,来讲解一下微服务技术结合业务应用讲解一下。

 打车业务如上图:

1:打车的时候会选择车型,选择车型我们调用过程是:Gateway->Driver(加载司机列表)
2:选择车型后确认打车,相当于要下单了,调用过程是:Gateway->Order(下单)->Driver(司机状态更改)
3:打车结束后,用户进入支付,调用过程是:Gateway->Pay(支付)->Driver(更新司机状态)
                                                    ->Order(更新订单状态)

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

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

相关文章

【矩阵论】8. 常用矩阵总结——单阵,正规阵,幂0阵,幂等阵,循环阵

矩阵论 1. 准备知识——复数域上矩阵,Hermite变换) 1.准备知识——复数域上的内积域正交阵 1.准备知识——Hermite阵,二次型,矩阵合同,正定阵,幂0阵,幂等阵,矩阵的秩 2. 矩阵分解——SVD准备知识——奇异值…

基于Promethus+Grafana搭建监控系统

简介 ● 监测数据类型&#xff1a;JVM数据、在线人数、消息时延等 ● 接入Prometheus性能监测工具&#xff0c;暴露服务器性能监测数据 ○ 模式&#xff1a;pull/push ● 接入Grafana可视化数据 搭建流程 准备环境 Java客户端配置 <!-- The client --> <depende…

IDEA 的Http接口调试工具

简介 这个工具我们可以完成绝大部分http请求&#xff0c;是一个不错的post-man替代工具 插件安装 在使用之前先确保 HTTP Client插件的安装&#xff0c;如果已经安装请无视这一步 > 安装后记得重启IDE编辑器确保插件可以正常使用 插件使用 描述&#xff1a; 所有HTTP请求…

2023年1月6日星期五-PPP/BPP相关学习-旧版重写

1. 独立均匀分布 matlab的rand指令可以帮助我们生成[0,1]的均匀分布的数据&#xff0c;这样&#xff0c;如果我们想要[a,b]的分布数据&#xff0c;只需要a(b-a)*rand就可以了。 [a,b] 均值μ&#xff0c;标准差 均值 标准差 matlab代码&#xff1a; %% 生成一个n行p列的矩…

Excel 中合并单元格的快捷键(ALT+H+M+M)

要在 excel 中合并单元格,首先选择要合并到一个单元格中的单元格,然后可以使用从ALT开始的快捷键,然后同时按H+M+M。 一旦我们使用快捷键执行该函数,它将弹出一条警告消息“合并单元格时,仅保留左上角的值,而放弃其他值“。如果我们继续,单元格将被合并,只保留一个值。…

Nature chemistry|机器学习可以克服自组装肽发现中的人类偏见

题目&#xff1a;Machine learning overcomes human bias in the discovery of self-assembling peptides 文献来源&#xff1a;Nature Chemistry | Volume 14 | December 2022 | 1427–1435 代码&#xff1a;https://doi.org/10.5281/zenodo.6564202&#xff08;非商业化证书…

Java安全:SecurityManager与AccessController

前言 什么是安全&#xff1f; 程序不能恶意破坏用户计算机的环境&#xff0c;比如特洛伊木马等可自我进行复制的恶意程序。程序不可获取主机及其所在网络的私密信息。程序的提供者和使用者的身份需要通过特殊验证。程序所涉及的数据在传输、持久化后都应是被加密的。程序的操…

Hudi的核心概念 —— 文件布局(File Layout)

文章目录文件布局&#xff08;File Layout&#xff09;Hudi 存储分为两个部分文件布局&#xff08;File Layout&#xff09; Hudi 将一个表映射为如下文件结构 Hudi 存储分为两个部分 &#xff08;1&#xff09;元数据&#xff1a;.hoodie 目录对应着表的元数据信息&#xff…

Vivado综合设置之-no_lc

本文详细讨论了当勾选或者不勾选-no_lc时的差异&#xff0c;也详细介绍了using O5 and O6以及using O6 output only的具体含义。 -no_lc表示NO LUT Combining&#xff0c;即无LUT整合&#xff0c;默认不勾选&#xff0c;即默认有LUT整合。LUT整合可以减少对LUT的使用量&#x…

架构设计---数据库的存储优化

前言&#xff1a; 互联网系统架构中&#xff0c;承受着最大出力压力&#xff0c;最难以被伸缩的&#xff0c;就是数据存储部分&#xff0c;原因主要有两方面&#xff0c;一方面&#xff0c;数据存储需要使用硬盘&#xff0c;而硬盘的处理速度要比其他几种计算资源都要慢&#…

6、Servlet——网络协议、HTTP协议、HTTP报文格式

目录 一、网络协议 1、网络协议三要素 2、层次结构 3、层次划分 二、HTTP协议 1、HTTP工作原理 2、HTTP协议特点 3、 三次握手 4、四次挥手 三、HTTP报文格式 1、请求报文 2、响应报文 一、网络协议 网络协议&#xff0c;简称协议 &#xff0c;网络协议是通信计算…

【Python百日进阶-数据分析】Day150 - plotly使用日期类型轴的时间序列 1

文章目录一、使用轴类型的时间序列date1.1 使用 plotly.express1.2 使用 graph_objects二、Dash 中的时间序列三、日期轴上的不同图表类型3.1 相对股票代码值的条形图3.2 多面区域图四、配置刻度标签五、将刻度标签移动到期间的中间六、用直方图总结时间序列数据七、显示期间数…

macOS 上安装和配置 Flutter 开发环境

本文基于此&#xff1a; Flutter中文网 一、安装和运行Flutter的系统环境要求 想要安装并运行 Flutter&#xff0c;你的开发环境需要最低满足以下要求&#xff1a; 操作系统:macOS磁盘空间:2.8 GB(不包括IDE/tools的磁盘空间)。工具:Flutter使用git进行安装和升级。我们建议安…

vue3中的写法以及,一些语法糖

vue3新增setup&#xff0c;属性执行比 created更早,同时setup中this不会指向实例&#xff09;这个方法在onBeforeMounted之前被调用。定义数据需要在数据前面加ref&#xff0c;ref在vue3中是将数据转换成响应式数据结构的一种,因为vue3中没有了data(){ },那么就没办法劫持数据做…

PDF拆分成多个页面怎么办?这三个方法让你实现将文件拆分成多页

PDF是我们常见的文件格式之一&#xff0c;在日常办公中&#xff0c;我们经常会将WORD、PPT、EXCEL等文档转换成PDF的格式后再进行传输&#xff0c;这样不仅传输速度快&#xff0c;格式也不会出现乱码的情况&#xff0c;但在一些特殊的场景下&#xff0c;我们也需要将一份完整的…

Allegro174版本新功能介绍之锁定菜单栏设置

Allegro174版本新功能介绍之锁定菜单栏设置 用Allegro设计的时候,经常因为切换了Symphony team design模式导致菜单栏变化,使用的时候又需要重新去调用一次,十分麻烦 但是在Allegro升级到了174的时候,有一个锁定菜单栏的功能 具体操作如下 选择Setup选择User Prefrences

代谢组学喜讯|百趣生物与金域医学达成代谢组学战略合作

2023年1月4日&#xff0c;上海百趣生物医学科技有限公司&#xff08;“百趣生物”&#xff09;与广州金域医学检验集团股份有限公司&#xff08;“金域医学”&#xff09;在广州举行战略合作签约仪式。双方将在代谢组学科研服务和临床转化方面进行深度合作&#xff0c;共同致力…

2022年餐饮连锁行业研究报告

第一章 行业概况 餐饮连锁是餐饮的一种发展模式&#xff0c;指餐饮企业通过连锁经营和特许经营的方式进行扩张。根据商务部发布的《特许经营管理办法》&#xff1a;连锁企业必须具备2店1年才有出售特许经营权的权利。餐饮连锁是餐饮业发展到一定程度时的一个必然的产物&#x…

深度学习入门之ResNet食物图像分类

前言 参加了华为一个小比赛第四届MindCon-爱&#xff08;AI&#xff09;美食–10类常见美食图片分类&#xff0c;本来想实践机器学习课程的知识&#xff0c;后来发现图像分类任务基本都是用神经网络做&#xff0c;之前在兴趣课上学过一点神经网络但不多&#xff0c;通过这样一…

Android UI界面刷新机制

一 前言 作为严重影响 Android 口碑问题之一的 UI 流畅性差的问题&#xff0c;首先在 Android 4.1 版本中得到了有效处理。其解决方法即在 4.1 版本推出的 Project Butter。Project Butter 对 Android Display系统进行了重构&#xff0c;引入三个核心元素&#xff1a;VSYNC、T…