面经:微服务

阿里Java社招五面面经:MQ+微服务+JVM+redis(已拿offer) 阿里一面 自我介绍,聊项目, 这边挺常规的,从项目入手。 解析Excel为什么用POI ? POI存在的问题? 还知道哪些解析Excel的工具吗? 你们项目中用过MQ,平时都用MQ来做什么? 你处理过MQ得幂等问题,当时是怎么做的? MQ的可靠性怎么保证? redis你们都用来做什么? redis的持久化机制? 怎么样保证redis的高可用? HashMap和ConcurrentHashMap的区别? .. 阅读详情

参考资料

概述,总结的很好

一. 微服务概述

添加链接描述

1. CAP理论

  • 一致性(Consistency)
    所有节点访问同一份最新的数据副本
  • 可用性(Availability)
    非故障的节点在合理的时间内返回合理的响应(不是错误或者超时的响应)。
  • 分区容错性(Partition Tolerance)
    分布式系统出现网络分区的时候,仍然能够对外提供服务。
  • 网络分区
    分布式系统中,多个节点之间的网络本来是连通的,但是因为某些故障(比如部分节点网络出了问题)某些节点之间不连通了,整个网络就分成了几块区域,这就叫 网络分区。
    在这里插入图片描述
  • 3选2
    分布式系统理论上不可能选择 CA 架构,只能选择 CP 或者 AP 架构。 比如 ZooKeeper、HBase 就是 CP 架构,Cassandra、Eureka 就是 AP 架构,Nacos 不仅支持 CP 架构也支持 AP 架构。
  • 为什么不支持CA
    若系统出现“分区”,系统中的某个节点在进行写操作。为了保证 C, 必须要禁止其他节点的读写操作,这就和 A 发生冲突了。如果为了保证 A,其他节点的读写操作正常的话,那就和 C 发生冲突了。
    选择 CP 还是 AP 的关键在于当前的业务场景,没有定论,比如对于需要确保强一致性的场景如银行一般会选择保证 CP 。
    另外,需要补充说明的一点是:如果网络分区正常的话(系统在绝大部分时候所处的状态),也就说不需要保证 P 的时候,C 和 A 能够同时保证。

2. BASE理论

  • 概述
    即使无法做到强一致性,但每个应用都可以根据自身业务特点,采用适当的方式来使系统达到最终一致性。BASE 理论本质上是对 CAP 的延伸和补充,更具体地说,是对 CAP 中 AP 方案的一个补充。
    如果系统没有发生“分区”的话,节点间的网络连接通信正常的话,也就不存在 P 了。这个时候,我们就可以同时保证 C 和 A 了。因此,如果系统发生“分区”,我们要考虑选择 CP 还是 AP。如果系统没有发生“分区”的话,我们要思考如何保证 CA。
    因此,AP 方案只是在系统发生分区的时候放弃一致性,而不是永远放弃一致性。在分区故障恢复后,系统应该达到最终一致性。这一点其实就是 BASE 理论延伸的地方。
  • 基本可用BA
    基本可用是指分布式系统在出现不可预知故障的时候,允许损失部分可用性(响应时间上的损失/系统功能上的损失)。但是,这绝不等价于系统不可用。
  • 软状态S
    软状态指允许系统中的数据存在中间状态(CAP 理论中的数据不一致),并认为该中间状态的存在不会影响系统的整体可用性,即允许系统在不同节点的数据副本之间进行数据同步的过程存在延时。
  • 最终一致性E
    最终一致性强调的是系统中所有的数据副本,在经过一段时间的同步后,最终能够达到一个一致的状态。因此,最终一致性的本质是需要系统保证最终数据能够达到一致,而不需要实时保证系统数据的强一致性。

3. SpringBoot 与 SpringCloud对比

  • SpringBoot专注于快速方便得开发单个个体微服务。
  • SpringCloud是关注全局的微服务协调整理治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来,为各个微服务之间提供,配置管理、服务发现、断路器、路由、微代理、事件总线、全局锁、决策竞选、分布式会话等等集成服务
  • SpringBoot可以离开SpringCloud独立使用开发项目, 但是SpringCloud离不开SpringBoot,属于依赖的关系.
  • SpringBoot专注于快速、方便得开发单个微服务个体,SpringCloud关注全局的服务治理框架。

4. 一致性理论

  • 强一致性
    同步复制, 任何一次读都能读到某个数据的最近一次写的数据。系统中的所有进程,看到的操作顺序,都和全局时钟下的顺序一致。
  • 弱一致性
    异步复制。数据更新后,如果能容忍后续的访问只能访问到部分或者全部访问不到,则是弱一致性。
  • 顺序一致性
    任何一次读都能读到某个数据的最近一次写的数据。
    系统的所有进程的顺序一致,而且是合理的。即不需要和全局时钟下的顺序一致,错的话一起错,对的话一起对。(强一致性的要求比顺序一致性更严格)
  • 最终一致性
    不保证在任意时刻任意节点上的同一份数据都是相同的,但是随着时间的迁移,不同节点上的同一份数据总是在向趋同的方向变化。

二. 服务注册:Zookeeper,Eureka,Nacos,Consul

1. Nacos两种健康检查方式?

(在nacos中服务提供者是如何向nacos注册中心续约的)
(对于nacos服务来讲它是如何判断服务实例的状态的)

  • agent上报模式 (心跳模式,临时实例)
    客户端(注册在nacos上的其它微服务实例)健康检查。
    客户端通过心跳上报方式告知服务端(nacos注册中心)健康状态;默认心跳间隔5秒;
    nacos会在超过15秒未收到心跳后将实例设置为不健康状态;超过30秒将实例删除;
  • 服务端主动检测(非临时实例)
    服务端健康检查。
    nacos主动探知客户端健康状态,默认间隔为20秒;健康检查失败后实例会被标记为不健康,不会被立即删除。

2. nacos中负责负载均衡底层是如何实现的

通过Ribbon实现,Ribbon中定义了负载均衡算法,然后基于这些算法从服务实例中获取一个实例为想要服务方提供服务

3. Nacos原理

在这里插入图片描述
Nacos的实现原理
1.客户端provider向nacos server的open api发起调用,把自己的服务地址链接,服务名称注册上去
2.nacos server与服务提供者provider建立心跳机制,用来检测服务状态
3.服务消费者consumer查询出提供服务实例列表
4.并且默认10s去nacos server拉取服务实例列表
5.当服务消费者检测到服务异常,基于UDP协议推送更新
6.服务消费者即可调用了

4. 临时实例和持久化(非临时)实例

临时和持久化的区别主要在健康检查失败后的表现,持久化实例健康检查失败后会被标记成不健康,而临时实例会直接从列表中被删除。

三. 服务调用:Feign

1. Feign的底层原理

首先,如果你对某个接口定义了**@FeignClient注解**,Feign就会针对这个接口创建一个动态代理
接着你要是调用那个接口,本质就是会调用 Feign创建的动态代理,这是核心中的核心
Feign的动态代理会根据你在接口上的@RequestMapping等注解,来动态构造出你要请求的服务的地址
最后针对这个地址,发起请求、解析响应
在这里插入图片描述

2. Feign与OpenFeign的区别

  • 他们底层都是内置了Ribbon,去调用注册中心的服务。
  • Feign是Netflix公司写的,是SpringCloud组件中的一个轻量级RESTful的HTTP服务客户端,是SpringCloud中的第一代负载均衡客户端。
  • OpenFeign是SpringCloud自己研发的,在Feign的基础上支持了Spring
    MVC的注解
    ,如@RequesMapping等等。是SpringCloud中的第二代负载均衡客户端。
  • Feign本身不支持Spring MVC的注解,使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务
  • OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

四. 负载均衡:Ribbon

1. Ribbon支持哪几种负载均衡策略

在这里插入图片描述

五. 网关:Gateway,Zuul

1. Gateway工作流程

在这里插入图片描述
路由判断:客户端的请求到达网关后,先经过 Gateway Handler Mapping 处理,这里面会做断言(Predicate)判断,看下符合哪个路由规则,这个路由映射后端的某个服务。
请求过滤:然后请求到达 Gateway Web Handler,这里面有很多过滤器,组成过滤器链(Filter Chain),这些过滤器可以对请求进行拦截和修改,比如添加请求头、参数校验等等,有点像净化污水。然后将请求转发到实际的后端服务。这些过滤器逻辑上可以称作 Pre-Filters,Pre 可以理解为“在…之前”。
服务处理:后端服务会对请求进行处理。
响应过滤:后端处理完结果后,返回给 Gateway 的过滤器再次做处理,逻辑上可以称作 Post-Filters,Post 可以理解为“在…之后”。
响应返回:响应经过过滤处理后,返回给客户端。

2. Spring Cloud Gateway 的路由和断言是什么关系?

在这里插入图片描述
一对多:一个路由规则可以包含多个断言。如上图中路由 Route1 配置了三个断言 Predicate。
同时满足:如果一个路由规则中有多个断言,则需要同时满足才能匹配。如上图中路由 Route2 配置了两个断言,客户端发送的请求必须同时满足这两个断言,才能匹配路由 Route2。
第一个匹配成功:如果一个请求可以匹配多个路由,则映射第一个匹配成功的路由。如上图所示,客户端发送的请求满足 Route3 和 Route4 的断言,但是 Route3 的配置在配置文件中靠前,所以只会匹配 Route3。

3. Spring Cloud Gateway 如何实现动态路由?

Spring Cloud Gateway 作为微服务的入口,需要尽量避免重启,而现在配置更改需要重启服务不能满足实际生产过程中的动态刷新、实时变更的业务需求,所以我们需要在 Spring Cloud Gateway 运行时动态配置网关。
实现动态路由的方式有很多种,其中一种推荐的方式是基于 Nacos 配置中心来做。简单来说,我们将将路由配置放在 Nacos 中存储,然后写个监听器监听 Nacos 上配置的变化,将变化后的配置更新到 GateWay 应用的进程内。
其实这些复杂的步骤并不需要我们手动实现,通过 Nacos Server 和 Spring Cloud Alibaba Nacos Config 即可实现配置的动态变更。

4. Spring Cloud Gateway 支持限流吗?

Spring Cloud Gateway 自带了限流过滤器,对应的接口是 RateLimiter,RateLimiter 接口只有一个实现类 RedisRateLimiter (基于 Redis + Lua 实现的限流),提供的限流功能比较简易且不易使用。
从 Sentinel 1.6.0 版本开始,Sentinel 引入了 Spring Cloud Gateway 的适配模块,可以提供两种资源维度的限流:route 维度和自定义 API 维度。也就是说,Spring Cloud Gateway 可以结合 Sentinel 实现更强大的网关流量控制。

六. 限流/熔断/服务降级:Hystrix,Sentinel

1. 什么是熔断和降级?

  • 熔断机制
    服务熔断的作用类似于我们家用的保险丝,当某服务出现不可用或响应超时的情况时,为了防止整个系统出现雪崩,暂时停止对该服务的调用。
  • 服务降级
    服务降级是从整个系统的负荷情况出发和考虑的,对某些负荷会比较高的情况,为了预防某些功能(业务场景)出现负荷过载或者响应慢的情况,在其内部暂时舍弃对一些非核心的接口和数据的请求,而直接返回一个提前准备好的fallback(退路)错误处理信息。这样,虽然提供的是一个有损的服务,但却保证了整个系统的稳定性和可用性。
  • 相同点
    目标一致 都是从可用性和可靠性出发,为了防止系统崩溃;
    用户体验类似 最终都让用户体验到的是某些功能暂时不可用;
  • 不同点
    触发原因不同:服务熔断一般是某个服务(下游服务)故障引起,而服务降级一般是从整体负荷考虑

2. 限流

2.1 常见算法

  • 固定窗口计数器算法
    在这里插入图片描述
  • 滑动窗口计数器算法
    在这里插入图片描述
  • 漏桶算法
    在这里插入图片描述
  • 令牌桶算法
    在这里插入图片描述

2.2 单机限流

单机限流可以直接使用 Google Guava 自带的限流工具类 RateLimiter 。 RateLimiter 基于令牌桶算法,可以应对突发流量。

2.3 分布式限流

(1) 借助中间件架限流:可以借助 Sentinel 或者使用 Redis 来自己实现对应的限流逻辑。
(2)网关层限流:比较常用的一种方案,直接在网关层把限流给安排上了。不过,通常网关层限流通常也需要借助到中间件/框架。就比如 Spring Cloud Gateway 的分布式限流实现RedisRateLimiter就是基于 Redis+Lua 来实现的,再比如 Spring Cloud Gateway 还可以整合 Sentinel 来做限流。

3. Hystrix和Sentinel简单介绍

在这里插入图片描述

  • Hystrix:发起请求是通过Hystrix的线程池来走的,不同的服务走不同的线程池,实现了不同服务调用的隔离,避免了服务雪崩的问题
  • Sentinel是阿里中间件团队开源的,面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。
【后端高阶面经:架构篇】52、微服务架构:微服务是银弹吗? 微服务架构的双面性:机遇与挑战 微服务架构作为现代分布式系统的主流解决方案,在提升开发效率和系统扩展性方面优势明显,但也带来了新的复杂性。本文通过对比分析揭示了微服务的双重特性:既是解决单体应用痛点的"灵丹",又可能因不当实施成为"毒药"。 核心发现: 架构优势:独立部署、技术异构、故障隔离等特性显著提升了系统弹性和团队协作效率 实施挑战:分布式系统固有的网络通信、数据一致性等问题增加了系统复杂度 适用场景:更适合业务复杂度高、团队规模大的企业。 阅读详情

相关推荐

【后端高阶面经:实战篇】42、微服务架构面试高频考点解析

本文系统解析了微服务架构的核心要点。微服务通过独立部署、技术自治和松耦合通信实现可扩展性和容错性。保障高可用需构建三层防护体系:服务治理层(注册中心、负载均衡)、容错层(熔断降级限流)和基础设施层(容器化监控)。文章详细探讨了服务健康检测、熔断恢复流程,并针对六大核心主题(服务注册发现、负载均衡、熔断降级等)提出实战解决方案,包括动态权重计算、防抖动策略、优雅降级实现等。特别提供了VIP资源隔离方案和科学限流阈值计算方法,为构建稳定高效的微服务系统提供了系统化指导。

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 405

微服务常见面试题总结(2022最新)

微服务是将一个原本独立的系统拆分成多个小型服务,这些小型服务都在各自独立的进程中运行,服务和服务之间采用轻量级的通信机制进行协作。每个服务可以被独立的部署到生产环境。

Tyson0314的博客 7034

别再让OCV拖慢你的芯片!手把手教你用set_timing_derate优化STA时序(附CPPR实战)

本文深入探讨了芯片设计中OCV(On-Chip Variation)对时序分析的影响,并提供了使用`set_timing_derate`优化STA时序的实战指南。通过分阶段derate设置和CPPR技术,有效减少时序违例,提升芯片性能。文章结合TSMC 7nm工艺案例,详细解析了OCV建模与优化策略,助力工程师实现时序收敛。

weixin_42525005的博客 304

微服务系统面经之三: 以秒杀系统为例-多级缓存:用户订单状态机:增/全量库存:极限吞吐量提升

答:本地内存+redis。

yxg520s的博客 1206

ADI DSP开发环境(CCES)下的程序烧录问题(以ADSP-SC589为例)

在CCES环境下将程序烧录到flash主要有两种方式。首先在对项目编译产生文件的属性设置为Release。 在编译完成后,找到每个CORE单独生成的DXE文件: 文件通常位于项目目录下每个core的Release文件中。安装SC589评估板的驱动(ADSP-SC5xx_EZ-KIT_Lite-Rel2.0.0.exe)后,在安装目录下可以找到SPI FLASH芯片的驱动程序(sc589_w25q128fv_dpia_Core1.dxe): 把文件copy到CCES 的目录下由于SC58x处理器的特殊性

daijingxin的博客 3730

Windows下用Docker部署RagFlow的5个常见错误及解决方法(附详细日志分析)

本文针对Windows系统下使用Docker部署RagFlow的常见难题,提供了详细的避坑指南。文章深度剖析了WSL2配置、端口冲突、文件权限、资源限制及网络通信这五个典型错误场景,并结合具体日志分析,给出了经过验证的解决方案,帮助开发者高效完成部署。

weixin_29233857的博客 178

微服务系统面经之一:以秒杀系统为例

简单来说,Nginx可以作为一个简单的API网关,但在微服务中,我们通常会使用一些更强大的工具作为API网关,例如Zuul,Spring Cloud Gateway,Kong等。在微服务架构中,我们通常不关心服务的具体位置,而是关心服务的功能。API网关是微服务架构的一部分,它提供了比Nginx更多的功能,包括请求路由、服务发现、负载均衡、身份验证和授权、限流和熔断、API组合和协议转换等。网关服务是微服务架构中的重要组件,它通常负责路由、认证、授权、限流、熔断、负载均衡等功能,为微服务提供统一的入口。

yxg520s的博客 1450

IPD实战指南:如何运用SPAN模型精准定位高潜力市场并优化资源配置

本文是IPD实战指南,详细解析了如何运用SPAN模型进行市场分析与战略决策。文章通过四步实战法,指导企业科学定义细分市场、量化评估吸引力与竞争力,并绘制矩阵以制定精准的资源配置策略,从而跳出红海竞争,将资源聚焦于高潜力市场。

weixin_29306317的博客 73

字节跳动的微服务独家面经

本文中我将分享一份来自字节跳动相关岗位的面试经历,如果有对微服务的感兴趣的朋友们也可以联系我了解我们的微服务项目。

王中阳讲编程 2713

实战解析:基于Python的APT攻击检测与ATT&CK框架应用

本文通过实战案例,详细解析了如何利用Python编程语言结合MITRE ATT&CK框架,构建一套针对高级持续性威胁(APT)的自动化检测与狩猎系统。文章涵盖了从环境搭建、核心检测逻辑编写、到模块化框架设计与主动威胁狩猎的全过程,为安全从业者提供了可落地的技术方案,以有效应对复杂的网络攻击。

weixin_29044157的博客 389

3DGS-to-PC实战指南:零代码实现3D高斯场景到点云/Mesh的高效转换

本文详细介绍了3DGS-to-PC工具如何实现3D高斯场景到点云/Mesh的高效转换,无需代码即可完成。通过实战案例和参数调优技巧,帮助用户快速掌握这一开源插件的使用方法,提升3D数据处理效率。特别适合建筑扫描、影视特效等领域的专业人士。

q1w3e5r7t9y的博客 273

微服务面经粗总结 (Mar - Apr 24)

笔者关于碰到的微服务面试题和网上一些经验总结而成。

m0_68818004的博客 1133

使用示波器通过串口抓取数据波形

当我们在软件上发送一个数据,需要在示波器上正确的显示发送数据的波形时,这个过程是需要按照软件上串口配置的参数对示波器进行调节的,本次使用的示波器(型号为RIGOL DS1102Z-E)外观如下图所示,本次对采集波形的调节主要用到以下几处按钮。具体是两条导线T+连接R+、T-连接R-,连接完毕后,打开XCOM软件,首先配置好参数后打开串口,如下所示,若在发送窗口发送数据在接收窗口可以实时显示到的话,证明串口的收发功能是正常的。1.CH1、CH2是示波器上的两个采集通道,本次波形采集使用的是CH1通道。

weixin_58061628的博客 1万+

面渣逆袭:微服务三十三问

???? 这是一个或许对你有用的社群???? 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料:《项目实战(视频)》:从书中学,往事上“练”《互联网高频面试题》:面朝简历学习,春暖花开《架构 x 系统设计》:摧枯拉朽,掌控面试高频场景题《精进 Java 学习指南》:系统学习,互联网主流技术栈《必读 Java 源码专栏》:知其然,知其所以然????这是一个或许...

芋艿V 153

智能车竞赛循迹控制:基于状态机的直道、弯道、十字路口处理策略

在嵌入式系统与自动控制领域,PID控制算法是实现精确运动控制的基础。其原理是通过比例、积分、微分三个环节的线性组合,对系统误差进行实时校正,从而实现对目标值的快速、稳定跟踪。这项技术的核心价值在于为各类自动控制系统提供了稳定、可靠且易于实现的解决方案,广泛应用于机器人、无人机、工业自动化等场景。在智能车循迹这类特定应用中,赛道环境复杂多变,单一的PID控制器难以应对直道、弯道、十字路口等不同赛道元素的控制需求。此时,有限状态机(FSM)作为一种高效的**决策框架**,能够根据实时感知的赛道特征(如边线曲率、

weixin_34034261的博客 282

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Java求职面经分享:Spring Boot到微服务,从理论到实践

这个嘛...Hadoop就像是一个巨大的储物柜,可以存放大量的玩具——哦不,是数据。: 啊这...额,是不是要开个超级大的数据库,然后用Spring Boot魔法棒点一下就自动快了?: 很好,最后一个问题:你觉得怎样才能有效提升微服务架构下的系统响应速度呢?: 哈哈,这还用说,我可是用Spring Boot泡茶喝的大师!: 那么,对于防止支付过程中的欺诈行为,有什么好的方案或技术推荐吗?: 你好,明哥,请问你对Spring Boot框架熟悉吗?: 我们换个话题吧,你了解Kafka在支付系统中的应用吗?

优快云_LiMingfly的博客 1172

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

面渣逆袭:微服务三十三问,两万字图文详解,速收藏

微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可维护。在微服务的架构演进中,一般可能会存在这样的演进方向:单体式–>服务化–>微服务。单体服务(Monolithic Service)是一种传统的软件架构方式,将整个应用程序作为一个单一的、紧耦合的单元进行开发和部署。

三分恶的博客 1748

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

【Java微服务面试通关指南】:8大高频考点+真实面经还原

掌握Java微服务面试核心技巧,系统梳理1024 Java面试中微服务架构高频考点,涵盖Spring Cloud、服务治理、分布式事务等8大主题,结合真实面经还原考查场景与解题思路,助力高效备考,值得收藏。

ProceShoal的博客 1047

终面倒计时8分钟:如何用Pinpoint诊断微服务链路超时?

在终面倒计时仅剩8分钟的关键时刻,面试官抛出一个实际生产场景:某微服务链路出现严重超时,影响了用户体验。面试官要求候选人快速定位问题并提出解决方案。候选人需熟练掌握Pinpoint分布式追踪工具,分析服务间的调用链路,找出潜在的性能瓶颈,并提出优化建议。场景强调时间紧迫、问题复杂,同时考验候选人对微服务架构的理解和实际问题解决能力。

itAred的博客 705

阿里终面:谈谈微服务架构之服务注册中心

服务注册中心 在微服务的架构中, 服务注册中心是一个核心的概念。 就像上节所讲, 服务注册中心是服务发现中不可缺少的一部分。 服务注册中心, 通俗来讲, 是一个存储网络实例的网络地址和数据库, 一个服务注册中心应该是高可用的, 而且其数据是最新的。 客户端在查询服务注册中心后, 会缓存一部分网络地址的数据, 但是, 这些信息需要设置过期时间, 因为数据会实时的发生变化。 因此, 一个服务注册中心, 应包含一个服务器的集群, 在这个集群中, 各个机器中的数据需要保持一致, 机器之间通过replication协

qq_41066066的博客 515

阿里终面:如何设计一个微服务网关系统?

互联网在近几年突飞猛进的发展,流量随着时间推移不断增长,而且互联网企业也喜欢玩一些新花样,将服务设置的更加细致,业务场景越来越复杂,这就让微服务框架不断普及。现如今微服务基本上可以是我们...

Java后端技术 458

Java面渣逆袭:微服务三十三问,两万字图文详解!

微服务(Microservices)是一种软件架构风格,将一个大型应用程序划分为一组小型、自治且松耦合的服务。每个微服务负责执行特定的业务功能,并通过轻量级通信机制(如HTTP)相互协作。每个微服务可以独立开发、部署和扩展,使得应用程序更加灵活、可伸缩和可维护。在微服务的架构演进中,一般可能会存在这样的演进方向:单体式-->服务化-->微服务。单体服务(Monolithic Service)是一种传统的软件架构方式,将整个应用程序作为一个单一的、紧耦合的单元进行开发和部署。

weixin_62421895的博客 1072

微服务网关设计:从流量入口到服务治理,高并发架构的统一管控面

微服务网关是高并发架构的统一管控面,将认证、限流、路由、灰度等横切关注点集中处理,简化了下游服务的实现复杂度。核心架构包括过滤链框架、动态路由和负载均衡三个模块。落地建议:网关必须多实例部署消除单点,配置通过中心化推送保证一致性;过滤链按路由配置启用,避免不必要的性能开销;灰度路由设置明确的回退机制,防止流量泄漏;与 Service Mesh 明确职责边界,避免重复实现。

dicky_zhang3的博客 4855

微服务系统面经之二: 集群和请求有序性:多级限流:数据表设计:JMeter压测

实例B在支付之前查询redis缓存或者mysql数据库判断订单是否已经完成,如果完成才允许支付操作,否则fail掉,随后再重发,但是这里就需要保证支付操作的幂等性(多次请求的结果和第一次执行的结果状态相同),参考上面提到的tcp幂等性保证即可。消息的公平性在不同的上下文中可能有不同的含义。在一些情况下,它可能指的是保证消息被处理的顺序与它们到达的顺序相同(先来后到,比如AQS中的公平锁)。在其他情况下,它可能指的是保证每个发送者都有公平的机会让他们的消息被处理,而不是让某些先到的发送者的消息被优先处理。

yxg520s的博客 1442

终面倒计时5分钟:候选人用Docker Compose再现容器网络问题,P9考官追问微服务隔离方案

在终面的最后5分钟,候选人被要求使用Docker Compose重现一个微服务容器间的网络通信问题。候选人迅速搭建了一个包含多个微服务的Docker Compose环境,但由于容器网络配置错误,微服务间无法正常通信。P9考官随即追问,如果这是一个生产环境,如何通过微服务架构的隔离策略来解决类似问题,并探讨了Service Mesh(如Istio)与传统的API Gateway(如Kong)在高并发场景下的优劣。

itAred的博客 996

**Java面试场:从SE到微服务,一招鲜吃遍天**

嗯,Java SE是Java的核心平台,我了解它提供了基础的语言特性。在项目中,我通常用它来开发一些后台服务。

zhaomh2017的博客 616
上一篇: 尚医通(医院预约挂号系统)笔记
下一篇: 面经:安卓学习笔记
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值