8年的Java后台开发,为什么 还不知道分布式限流?看完涨薪翻倍了

Java高级岗面试高频题深度解析:JVM、并发、Spring与分布式系统设计 在Java后端开发领域,深入理解核心机制是构建高可用、高性能系统的基石。从JVM内存模型与垃圾回收原理出发,开发者能够掌握应用性能调优与线上问题排查的根本。并发编程中的锁机制、线程池与AQS框架,则是应对高并发场景、保障数据一致性的关键技术。Spring框架通过IoC容器管理Bean生命周期,并借助AOP与事务传播机制简化了企业级应用开发。这些技术最终服务于分布式系统架构,其中分布式ID生成、数据库事务ACID实现与Redis持久化机制,是保障数据可靠性与系统可扩展性的核心。本文聚焦Java高级工程师面试中 阅读详情

什么是限流

在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。

为什么要限流

Java程序员在大厂面试时 或者 想拿到一份不错的薪资时,肯定会涉及到分布式程序的开发。在分布式程序中有各种各样的问题需要我们去解决,今天我们就和大家聊聊分布式限流。

首先我们先聊聊为什么要限流 我们先来看看下面的这两张图片

这是十一黄金周的景区的奇观,景区如果不对旅游的人员做限制就会出现图片上的样子。因为不做限制会超出景区的服务极限,一旦请求多到超出它的处理极限就会崩溃。为了不出现最坏的崩溃情况,只能耽误一下大家进入景区的时间。

由于互联网公司的流量巨大,系统上线会做一个流量峰值的评估,尤其是像各种秒杀促销活动,为了保证系统不被巨大的流量压垮,会在系统流量到达一定阈值时,拒绝掉一部分流量。

限流会导致用户在短时间内(这个时间段是毫秒级的)系统不可用,一般我们衡量系统处理能力的指标是每秒的QPS或者TPS,假设系统每秒的流量阈值是1000,理论上一秒内有第1001个请求进来时,那么这个请求就会被限流。

限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、降级(返回兜底数据或默认数据,如商品详情页库存默认有货)。

限流的算法

限流的算法主要有三大类 分别是 计数器限流, 漏桶 和 令牌桶。其中计数器进行粗暴的限流又分为固定时间窗口限流和滑动时间窗口限流。

计数器也可以进行粗暴限流

限流算法-计数器(固定窗口)

将某一个时间段当做一个窗口,在这个窗口内存在一个计数器记录这个窗口接收请求的次数,每接收一次请求便让这个计数器的值加一,如果计数器的值大于请求阈值的时候,即开始限流。当这个时间段结束后,会初始化窗口的计数器数据,相当于重新开了一个窗口重新监控请求次数。客户端在第一分钟的59秒请求100次,在第二分钟的第1秒又请求了100次, 2秒内后端会受到200次请求的压力,形成了流量突刺

限流算法-计数器(滑动窗口)

滑动窗口其实是细分后的计数器,它将每个时间窗口又细分成若干个时间片段,每过一个时间片段,整个时间窗口就会往右移动一格

时间窗口向右滑动一格,这时这个时间窗口其实已经打满了100次,客户端将被拒绝访问,时间窗口划分的越细,滑动窗口的滚动就越平滑,限流的效果就会越精确

漏桶

漏桶算法类似一个限制出水速度的水桶,通过一个固定大小FIFO队列+定时取队列元素的方式实现,请求进入队列后会被匀速的取出处理(桶底部开口匀速出水),当队列被占满后后来的请求会直接拒绝(水倒的太快从桶中溢出来)

优点是可以削峰填谷,不论请求多大多快,都只会匀速发给后端,不会出现突刺现象,保证下游服务正常运行 , 缺点就是在桶队列中的请求会排队,响应时间拉长

令牌桶

令牌桶算法是以一个恒定的速度往桶里放置令牌(如果桶里的令牌满了就废弃),每进来一个请求去桶里找令牌,有的话就拿走令牌继续处理,没有就拒绝请求

令牌桶的优点是可以应对突发流量,当桶里有令牌时请求可以快速的响应,也不会产生漏桶队列中的等待时间, 缺点就是相对漏桶一定程度上减小了对下游服务的保护

限流解决方案

限流方案分析

限流的解决方案主要分为单机限流和分布式限流,这两种限流方案又有很多具体的实现如下:

单机限流

Java单机限流可以使用AtomicInteger,RateLimiter或Semaphore来实现

分布式限流

常用的方案有Nginx限流和Spring Cloud Gateway Sentinel

限流方案实现举例

单机限流AtomicInteger

private int maxCount = 10; private long interval = 60; // 原子类计数器 private AtomicInteger atomicInteger = new AtomicInteger(0); private long startTime = System.currentTimeMillis(); public boolean limit(int maxCount, int interval) { atomicInteger.addAndGet(1); if (atomicInteger.get() == 1) { startTime = System.currentTimeMillis(); atomicInteger.addAndGet(1); return true; } // 超过了间隔时间,直接重新开始计数 if (System.currentTimeMillis() - startTime > interval * 1000) { startTime = System.currentTimeMillis(); atomicInteger.set(1); return true; } // 还在间隔时间内,check有没有超过限流的个数 if (atomicInteger.get() > maxCount) { return false; } return true; }

分布式限流Gateway

分布式限流本质上是一个集群并发问题,Redis单进程单线程的特性,天然可以解决分布式集群的并发问题。所以很多分布式限流都基于Redis,比如说Spring Cloud的网关组件Gateway。Gateway的底层实现是Redis + Lua。

Redis执行Lua脚本会以原子性方式进行,单线程的方式执行脚本,在执行脚本时不会再执行其他脚本或命令。并且,Redis只要开始执行Lua脚本,就会一直执行完该脚本再进行其他操作,所以Lua脚本中不能进行耗时操作。使用Lua脚本,还可以减少与Redis的交互,减少网络请求的次数。

Gateway在SpringCloud中的具体配置如下

spring: redis: host: 127.0.0.1 port: 6379 application: name: lagou-cloud-gateway cloud: gateway: routes: # 路由可以有多个 - id: service-resume-router # 我们自定义的路由 ID,保持唯一 uri: http://127.0.0.1:8081 # 目标服务地址 predicates: # 断言:路由条件,Predicate 接受一个输入参数,返回一个布尔值结果。该接口包含多种默 认方法来将 Predicate 组合成其他复杂的逻辑(比如:与,或,非)。 - Path=/resume/** filters: - name: RequestRateLimiter args: redis-rate-limiter.replenishRate: 1 redis-rate-limiter.burstCapacity: 1 key-resolver: “#{@ipKeyResolver}”

大家对限流案例感兴趣可以加微信lg_junzz领取相关的资料。

分布式限流 sentinel

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。sentinal的功能非常强大,这些强大的功能在拉勾的课程里都会讲到,当然拉勾的课程肯定不只有限流,大家可以参考拉勾教育官网咨询Java相关的课程大纲。大家对上面课程感兴趣可以加微信lg_junzz领取相关的资料。

长按扫码👆,锁定0元名额

免费获取限流课程资料!

仅前 50 人有效,先到先得!

AI开发效率翻倍:多模型统一API管理实战解析 在AI应用开发中,API(应用程序编程接口)是连接业务逻辑与底层AI模型能力的桥梁。随着GPT-4、Claude、文心一言等大语言模型百花齐放,开发者面临不同模型API地址、认证、参数格式各异的挑战,导致代码冗余、维护成本高昂。其核心解决思路是引入适配器模式与API网关架构,通过统一的数据模型和路由层,将异构的外部API调用标准化。这一实践的技术价值在于实现技术选型的动态化与解耦,让业务代码专注于功能意图,而非具体模型实现,从而显著提升开发效率与系统可维护性。典型的应用场景包括需要灵活切换模型以平衡成本、性 阅读详情

相关推荐

【信息科学与工程学】计算机科学与自动化——第八十一篇 Java分布式软件高并发/高可用算法01

4. 消息队列(如Kafka的Topic分区,本质是范围)。3. 若是ACCEPT事件,bossGroup线程接受连接,创建SocketChannel,并将其注册到workerGroup的一个EventLoop的Selector上,关注READ事件。1. 分布式缓存分片(如Redis Cluster)。4. 分布式文件存储(如Ceph CRUSH)。6. 调用栈的模拟(如协程)。3. 服务网格(如Istio)的基础。2. 本地缓存与集中式缓存(如Redis)的一致性维护。3. 静态数据(如配置)缓存。

weixin_49199313的博客 1220

面试必问涨薪翻倍-分布式限流

什么是限流 在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存的目的是提升系统访问速度和增大系统能处理的容量,可谓是抗高并发流量的银弹;而降级是当服务出问题或者影响到核心流程的性能则需要暂时屏蔽掉,待高峰或者问题解决后再打开;而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、频繁的复杂查询(评论的最后几页),因此需有一种手段来限制这些场景的并发/请求量,即限流。 为什么要限流 Java程序员在大厂面试时 或者 想拿到一份不错的薪资时,肯定会涉及.

jzf2003428036的专栏 170

Matlab系列之GUI设计基础

Matlab系列之GUI设计基础简介编辑界面菜单设计控件设计控件描述个人理解Matlab转译控件属性【1】外观与行为【2】控件对象的信息【3】回调函数【4】状态信息结束结束更多精彩,等你发现~ 简介 GUI即图形用户界面(Graphical User Interface),人机交互的一种方式,可以简化用户的操作,比如只需要点点窗口上的按键或者菜单选择等等,就可以实现一个复杂的功能,有点类似黑盒的操作吧。 本篇将主要介绍GUI的使用,以及一些功能,后续的篇章再使用GUI来设计实例。 打开GUI可以在Matla

Smart_Devil的博客 5万+

分布式系统中的内存限速器

在多台服务器分布在世界各地不同地区的情况下,为每台服务器实施速率限制器将导致两个主要问题:在本文中,我们将探讨这两个主要问题,以及我们如何实施更好的策略来解决 分布式系统 的这些问题。不一致根据定义,当一组指令、规则或过程在呈现几个迭代的最终结果时彼此不一致时,就会发生计算系统中的不一致。对于计算机科学的不同领域,可以以不同的方式定义不一致。速率限制器的不一致是当服务器端在很短的时间内收到大量来自客户端的不间断请求时出现的问题。如果服务器端要接收来自多个客户端的多个请求,服务器端的速率限制器仍然会超过其限制

JavaShark的博客 303

创建可视化机房

(3)窗户位置创建好以后需要对窗户的墙面镂空位置进行修补,具体操作为,选中镂空位置的顶点(这里必须是选择一个平面的顶点,不要跨平面选择),实际操作如下图:选择点以后,鼠标右键,选择【从顶点创建边/面】,或者按F键,随后对其他镂空位置进行相同操作;(2)将【物体模式】修改为【编辑模式】,选中-x对应面的所有顶点,移动顶点位置,其他放小调整按照同理,找到选中对应面的所有顶点,移动位置即可;调整动画事件轴上的线,选中关键帧的时间,调整模型的位置或者旋转角度,具体根据插入关键帧菜单选择的项进行模型的相关调整。

SmileBu丿㦌的博客 2063

机器学习: 共轭梯度算法(PCG)

今天介绍数值计算和优化方法中非常有效的一种数值解法,共轭梯度法。我们知道,在解大型线性方程组的时候,很少会有一步到位的精确解析解,一般都需要通过迭代来进行逼近,而 PCG 就是这样一种迭代逼近算法。 我们先从一种特殊的线性方程组的定义开始,比如我们需要解如下的线性方程组: Ax=bAx=b 这里的 A(n×n)A(n×n) 是对称,正定矩阵, b(n×...

weixin_30807677的博客 3180

记限流方法

固定窗口限流算法 首先维护一个计数器,将单位时间段当做一个窗口,计数器记录这个窗口接收请求的次数。 当次数少于限流阀值,就允许访问,并且计数器+1 当次数大于限流阀值,就拒绝访问。 当前的时间窗口过去之后,计数器清零。 假设单位时间是1秒,限流阀值为3。在单位时间1秒内,每来一个请求,计数器就加1,如果计数器累加的次数超过限流阀值3,后续的请求全部拒绝。等到1s结束后,计数器清0,重新开始计数。 /** * 固定窗口时间算法 * @return */ boolean fixedWindowsTryAc

tiny的专栏 356

机器学习——Anaconda下载安装教程

Anaconda详细下载安装教程

2401_83693485的博客 3064

架构不得不知道的限流

限流简介 现在说到高可用系统,都会说到高可用的保护手段:缓存、降级和限流,本博文就主要说说限流。限流是流量限速(Rate Limit)的简称,是指只允许指定的事件进入系统,超过的部分将被拒绝服务、排队或等待、降级等处理。对于server服务而言,限流为了保证一部分的请求流量可以得到正常的响应,总好过全部的请求都不能得到响应,甚至导致系统雪崩。限流与熔断经常被人弄混,博主认为它们最大的区别在于限流主要在server实现,而熔断主要在client实现,当然了,一个服务既可以充当server也可以充当clien

z69183787的专栏 1122

uni-app - 实现全屏自适应且不变形背景大图,设置一张图片占满全屏(根据手机或电脑尺寸自动拉伸背景图像),用于页面是一张平铺的大图做背景的情况,全端兼容

uni-app,vue.js,微信小程序-设置背景图自适应手机屏幕尺寸,页面中的背景图片高度和宽度自适应,UNI-APP里如何设置背景图自适应手机屏幕尺寸,如何实现一个图片铺满整个页面,并且可以根据用户机型进行自动修正,自适应背景大图片官方教程,一个页面如何将图像放到背景上,纯CSS实现,设置背景图片占满全屏,3种CSS实现背景图片全屏铺满自适应的方式,uni-app中如何让图片不带高度的自适应,兼容uni-app全端,支持【纯】微信小程序项目使用,uni-app-实现全屏自适应且不变形背景大图

🏆 前端领域优质创作者 1万+

智元机器人开源具身仿真框架 Genie Sim 入门教程

GenieSim是AgiBot推出的具身智能仿真框架,提供完整闭环开发管道,包括轨迹生成、模型训练和基准测试。框架支持Docker容器化部署,要求Ubuntu 22.04和NVIDIA硬件环境。主要功能涵盖: 支持12种基准测试任务 提供ADER评估框架 集成UniVLA/RDT等基线模型 支持PICO/键盘遥操作 具备轨迹记录回放功能 提供完整API控制接口 开发者可通过Hugging Face获取场景资产,使用标准化ROS主题与仿真环境交互。框架特别优化了碰撞检测和抓取物理模拟,适用于从简单抓取到复杂操

2506_90492529的博客 2535

分布式限流面试整理

5.1.1 ZooKeeper 专题 ZooKeeper 是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是 Google的Chubby 一个开源的实现,它是集群的管理者,监视着集群中各 个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易 用的接口和性能高效、功能稳定的系统提供给用户。 客户端的读请求可以被集群中的任意一台机器处理,如果读请求在节点上 注册了监听器,这个监听器也是由所连接的zookeeper机器来处理。对于 写请求,这些请求会同时发给其他zoo.

朝闻道 335

PCL 三维重建 泊松曲面重建算法

本文介绍了基于泊松曲面重建算法的三维重建过程。泊松重建是一种利用点云数据生成三维表面的算法,它基于点云的法线估计和泊松方程的求解,能够生成光滑且连续的曲面模型。该方法适用于复杂形状和细节的表面重建。

纵马踏花向自由 1086

Redisson 分布式限流实战:5 分钟给 API 网关装好阀门

秒杀当晚 8 点,创建订单接口 2 秒进来 4 万请求,数据库连接池打满。复盘只有一句:Guava RateLimiter 只算单机账,流量打散到 10 台实例后每台都不超限,后端却过载了。把配额挪进 Redis 全局共享——Redisson 分布式限流服务 RRateLimiter 就是干这个的:基于 Redis 原子操作加 Lua 脚本,所有实例对同一份配额计数,接口限流从此是一本全局账。

gitblog_00814的博客 1106

当SLAM遇上FPGA:打造一个会“硬件加速”的激光雷达SLAM系统

点云数据的运动畸变校正特征点提取与匹配、以及ICP迭代最近点配准。在传统方案中,我们通常用ARM核完成所有计算。但点云配准中的最近邻搜索(KD-Tree)需要大量分支判断,CPU处理起来效率很低;而ICP中的矩阵分解(SVD)虽然计算量大,但非常适合并行化。ZYNQ的特殊之处在于它把ARM(PS端)和FPGA(PL端)集成在同一颗芯片上。ARM擅长跑操作系统、处理复杂逻辑和调度,FPGA擅长做高吞吐量的并行计算。两者之间通过AXI总线高速互联,数据交换延迟只有几十个时钟周期。

QQ_778132974的博客 374

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Sentinel分布式集群限流实战与优化指南

分布式系统流量控制是保障服务稳定性的关键技术,传统单机限流方案在微服务架构中面临全局管控失效的挑战。Sentinel通过集群流控规则和Token Server机制实现精准的全局QPS控制,其核心原理是将限流决策权集中到Token Server节点,通过令牌分配算法协调整个集群的流量。这种架构特别适用于电商秒杀、API网关等高并发场景,能有效预防雪崩效应。本文以生产环境最佳实践为基础,详细解析如何配置集群限流规则、优化Token Server性能,并针对热点参数限流等特殊场景给出解决方案,其中涉及的关键技术如

weixin_33483304的博客 265

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

3 步下载并启动 yuzu-downloads 主线构建:从零到跑通零踩坑

你下载的 Yuzu 还是 2019 年的旧构建,游戏菜单打不开,镜像站又不时 404。其实 yuzu-downloads 仓库就是 2024 年 2 月底到 3 月初的 Mainline 构建全量归档,挑对文件、加上执行权限就能用。读完本文,你能在 Linux 或 Windows 上跑起最新的 Yuzu 主线构建。 ## 🧰 检查环境并按系统选对包 归档里每个版本都放了两种文件:Linux

gitblog_00252的博客 622

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

深入解析分布式架构中的核心组件(RPC、限流、熔断、负载均衡)

本文深入解析分布式架构中的核心组件,包括RPC、限流、熔断和负载均衡。通过实际案例和技术对比,帮助开发者理解如何在高并发高可用场景下优化系统性能,确保稳定性和可靠性。

weixin_30642561的博客 480

Java后端8年经验跨界AI:收藏这份硬核转型指南,薪资直接翻倍!

作者分享了从8年Java后端经验跨界到AI应用开发的经历和心得。文章指出,当前AI应用开发门槛提高,单纯会调API已不足够,需要具备后端工程能力和AI落地能力。建议后端开发者不要盲目转行,需掌握RAG、Agent、Prompt等工程知识,并强调持续学习和产品思维的重要性。文章还提出了转型五阶段学习路线,并给出备战建议,最后鼓励后端开发者抓住AI风口,实现职业突破。

优快云_430422的博客 621

告别 MEGA 限流烦恼:MegaBasterd 免费下载器一键上手完全指南

你是不是也经历过这样的深夜:好不容易找到心仪的 MEGA 网盘资源,点下下载,进度条爬到一半,突然弹出"传输配额已用尽"——只能干瞪眼等第二天。**MegaBasterd** 正是为破解这个痛点而生的免费跨平台 MEGA 下载器:它不仅能**绕过 MEGA 流量限制**,还集上传与在线流媒体于一身,让你的大文件传输从此不再看脸色。 ## 一句话看懂它:自带"VIP 通道"的 MEGA 全能管家

gitblog_00858的博客 628

面试官:为什么 Java 不把基本类型放在堆中?我竟然答不上来。。

往期热门文章:1、IDEA 注释模板这样搞! 2、后端开挂:3行代码写出8个接口! 3、推荐一款可视化配置 Nginx 的神器 4、一款性能调优利器 — 火焰图 5、Redis 实现限流的...

Java之间 126

微服务流量治理实战:Sentinel限流熔断降级全解析

微服务架构在带来灵活性和扩展性的同时,也引入了流量尖峰、依赖故障蔓延和资源耗尽等新风险。当某个服务出现抖动,若缺乏有效的保护机制,故障会沿调用链快速扩散,最终引发雪崩效应,导致整个系统不可用。限流、熔断与降级正是应对这一问题的核心手段:限流控制入口流量防止过载,熔断在下游依赖异常时快速失败、避免无效调用,降级则提供兜底逻辑保障主流程可用。阿里巴巴开源的 Sentinel 作为流量防卫兵,提供 QPS 限流、并发线程数控制、热点参数限流、熔断降级及系统自适应保护等能力,并可与 Spring Cloud Ali

weixin_34378767的博客 447

【Java8】Stream API

1. 前言 Java8提供了Stream操作,针对集合可以完成复杂的查找、过滤以及数据映射等操作。 完成一个完整的Stream操作,可分为三步走: (1) 流的创建:从数据源(集合或数组)中获取一个流; (2) 中间操作:对流进行过滤、筛选等操作; (3) 终止操作:对流进行最后的统计或收集等操作。 注意:中间操作需要等到终止操作调用才会执行。 2. 流的创建 2.1 Collection Collection接口提供两种方法来创建流。 Stream<E> stream() 返回一个顺序流

叶遮沉阳的博客 363

微服务限流熔断实战:Sentinel核心机制与踩坑指南

微服务架构通过拆分将单体故障扩散到整条调用链,一个慢依赖会迅速耗尽线程池和连接池,最终引发服务雪崩。限流与熔断的本质是故障隔离,而非性能优化:限流在入口控制流量上限,熔断通过状态机在异常比例升高时主动短路调用。从固定窗口到滑动窗口、令牌桶、匀速排队,不同的流量控制算法应对不同的业务场景。系统自适应保护则从整体水位判断是否拦截请求,避免单接口未超限而系统整体崩溃。Sentinel正是这类场景下的核心工具,相比Redis计数器和Hystrix,它在流量控制、熔断降级、动态规则和集群限流上更完整,适合Spring

weixin_34211761的博客 448

DeepSeek涨价又限流?开发者应对路线与工程实践指南

大模型API的调用成本与稳定性,是AI工程化落地中的核心议题。随着DeepSeek宣布价格调整并出现高峰期限流,开发者需要重新审视模型接入策略。理解推理服务的计算成本,掌握重试退避、上下文缓存等调优手段,合理选择官方API、工具链接入与本地部署三条路线,才能兼顾成本与可用性。本文梳理了DeepSeek API调用规范、Codex/CC Switch等工具链配置、本地部署适用边界及常见报错排查,帮助开发者在模型服务波动时快速建立工程兜底方案。

weixin_33816821的博客 369

终于有人用30天就把Springboot从入门到实战学透了,直接薪资翻倍!

本篇文章从Spring Boot的特性与基本原理讲起,逐步深入到Spring Boot与其他微服务开发组件的集成使用,并在最后配合实 际的项目案 例,重点讲解Spring Boot的微服务开发,能够让读者全面、系统地学 习Spring Boot开发的相关知识,并且对微服务应用开发有更深入的理 解。第12章介绍Spring 5提供的Spring WebFlux框架,并对第11章的 微服务进行重构,展示Spring WebFlux的开发流程。第10章介绍Spring Boot测试与部署的相关知识。

程序员高级码农的博客 799
上一篇: 5分钟学后台—面试必死要问的问题:你了解Java的AQS吗?
下一篇: Java面试必问题目:AQS原理深度剖析,看完吊打面试官!
84696zuoguwz
博客等级 码龄5年 12粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值