Seata 分布式事务与服务网格

共 66 题
#

1. API 网关层的限流防刷、WAF 与 Bot 防护如何与认证授权分层协作,避免鉴权成为 DDoS 放大点

A 鉴权应放在最外层
B WAF/限流在前过滤,认证授权在后,避免鉴权被恶意流量打爆 ✓ 正确答案
C 鉴权无放大风险
D 无需限流
#

2. Gateway 与 Nacos 服务发现的动态路由刷新机制(ServiceDefinitionChangeListener)

A 服务变化需重启网关
B 通过 ServiceDefinitionChangeListener 监听实例变化,LoadBalancer 缓存更新,实现动态路由 ✓ 正确答案
C 路由无法动态刷新
D 服务变化与路由无关
#

3. Gateway 基于 Redis 的 RequestRateLimiter 限流原理(令牌桶 + Lua 脚本)

A 用 JVM 内存即可分布式限流
B 限流 key 无影响
C Lua 脚本非原子
D 令牌桶 + Redis 存储状态 + Lua 脚本原子执行,实现分布式限流 ✓ 正确答案
#

4. Gateway 的熔断集成(Sentinel/Resilience4j)与降级响应(fallbackUri)配置

A 集成 Sentinel/Resilience4j 熔断,fallbackUri 把熔断请求转发到降级地址 ✓ 正确答案
B 熔断后无降级
C fallbackUri 用于限流
D 熔断无法降级
#

5. Gateway 的监控指标(/actuator/gateway/routes)与 Prometheus 集成

A /actuator/gateway/routes 显示指标
B 网关无法暴露指标
C /actuator/gateway/routes 显示路由配置,指标通过 Micrometer 接 Prometheus ✓ 正确答案
D 路由监控无需端点
#

6. Gateway 的链路追踪(TraceID/SpanID)注入与 OpenTelemetry 上下文传播

A Gateway 不生成 TraceID
B 上下文无法跨服务传播
C Gateway 生成 TraceID/SpanID 并通过 OTel 传播上下文到下游,形成完整链路 ✓ 正确答案
D 链路追踪只记录 Gateway
#

7. Gateway 的限流维度扩展,按用户/按 IP/按 API Key 的多维度限流策略

A 通过自定义 KeyResolver 实现按用户/IP/API Key 多维度限流 ✓ 正确答案
B 只能按 IP 限流
C 无法多维度
D KeyResolver 无影响
#

8. Gateway 高并发下的 Netty 线程模型(Reactor 模式)与性能调优(worker/acceptor 线程数)

A 所有业务在独立线程池
B worker 线程数越多越好
C acceptor 接受连接,worker 处理 IO 事件,避免阻塞 event loop 是调优关键 ✓ 正确答案
D 阻塞操作无害
#

9. Seata AT 模式的全局锁与回滚日志(undo_log)

A 回滚不需要 undo_log
B AT 模式无需本地事务
C 全局锁与并发无关
D 全局锁防并发冲突,undo_log 记录 before/after image 用于回滚 ✓ 正确答案
#

10. Seata AT 模式的全局锁(Global Lock)

A 全局锁不防并发
B 全局锁由 TC 管理,防止并发同数据修改,冲突时等待重试 ✓ 正确答案
C 锁在本地管理
D 全局锁无冲突
#

11. Seata SAGA 模式与长事务

A SAGA 用全局锁持有到结束
B SAGA 拆分长事务为子事务,每个独立提交,失败反向补偿 ✓ 正确答案
C SAGA 有强隔离性
D SAGA 只适合短事务
#

12. Seata SAGA 模式在长事务与跨服务编排(Camunda/Activiti)

A 两者职责相同
B SAGA 管流程
C 工作流引擎管事务
D SAGA 提供事务补偿,Camunda/Activiti 提供流程编排,结合实现跨服务长事务 ✓ 正确答案
#

13. Seata TCC 模式的 Try/Confirm/Cancel 三阶段在业务侵入性与性能的取舍

A TCC 侵入性低
B TCC 用高业务侵入性换取高性能与资源控制,适合可预扣业务 ✓ 正确答案
C TCC 无性能优势
D TCC 自动生成补偿
#

14. Seata 与 RocketMQ 事务消息在最终一致性场景的协作模式

A 两者职责相同
B Seata 管数据一致性,事务消息管可靠事件投递,组合实现最终一致 ✓ 正确答案
C 事务消息管数据
D Seata 管事件
#

15. Seata 与本地消息表、事务消息等非 Seata 方案的选型对比(一致性/性能/侵入性)

A 需要强一致选 Seata,能接受最终一致且性能优先选本地消息表/事务消息 ✓ 正确答案
B Seata 性能一定最高
C 本地消息表提供强一致
D 事务消息侵入性低
#

16. Seata 在 Spring Boot 4.x 的兼容

A 兼容性取决于 Seata 版本,需验证 @GlobalTransactional 与数据源代理 ✓ 正确答案
B Seata 天然兼容所有 Boot 版本
C Boot 4 中 Seata 无法使用
D 无需兼容矩阵
#

17. Seata 的 AT 模式与 TCC 模式在同一业务中的混合使用策略

A 同一全局事务内可混合,常规操作用 AT、资源预扣用 TCC ✓ 正确答案
B 一个事务只能一种模式
C 混合无法协调
D 只能全用 TCC
#

18. Seata 的 AT(Auto Transaction)/TCC/SAGA/XA 四种分布式事务模式的工程取舍

A XA 性能最高
B AT 通用、TCC 高性能预扣、SAGA 长事务、XA 强一致,按一致性/侵入性/性能选择 ✓ 正确答案
C TCC 侵入性低
D SAGA 强一致
#

19. Seata 的 Saga 状态机 JSON 定义与 Spring Boot 的 SagaStateMachineEngine 集成

A JSON 定义正向步骤与补偿,StateMachineEngine 执行并驱动补偿 ✓ 正确答案
B SAGA 状态机无法用 JSON 定义
C 引擎不执行补偿
D JSON 只用于展示
#

20. Seata 的 Undo Log(回滚日志)在 AT 模式的快照读与补偿机制实现

A 回滚用 after image
B 回滚用 before image 恢复数据,undo_log 记录前后镜像 ✓ 正确答案
C undo_log 与回滚无关
D 快照读无需镜像
#

21. Seata 的四种模式(AT/TCC/SAGA/XA)的适用边界

A 所有场景都用 AT
B AT 常规、TCC 预扣型、SAGA 长事务、XA 强一致,按边界选择 ✓ 正确答案
C XA 适合高并发
D SAGA 适合短事务
#

22. Seata 的事务分组(tx-service-group)与集群

A tx-service-group 用于 TC 内部
B tx-service-group 映射客户端分组到 TC 集群,集群通过 registry 实现高可用 ✓ 正确答案
C 集群无需注册发现
D 分组与集群无关
#

23. Service Mesh 的多集群(Multi-Cluster)

A 多集群把多个 K8s 集群纳入统一 Mesh,实现跨集群服务发现与路由 ✓ 正确答案
B Mesh 只支持单集群
C 跨集群无法路由
D 多集群只用于存储
#

24. Spring Boot 3.5+ 与 Seata 2.x 的 @GlobalTransactional 注解与 Spring AOP 实现

A 无需 AOP 拦截
B 顺序无关紧要
C 拦截器只处理本地事务
D GlobalTransactionInterceptor 拦截方法管理全局事务,且需在本地事务拦截器外层 ✓ 正确答案
#

25. Spring Security 资源服务器(Resource Server)如何校验 JWT 签名与 claims,opaque token 的 introspection 模式有何代价

A opaque 本地验签
B 两者都本地校验
C JWT 也需 introspection
D JWT 本地验签校验签名与 claims,opaque 需 introspection 调用授权服务器(慢、依赖外部) ✓ 正确答案
#

26. 微服务架构下 OAuth2/OIDC + JWT 的认证链路如何设计,网关统一鉴权与服务内各自鉴权的取舍是什么

A 网关做全部鉴权
B 网关统一认证透传身份,服务内做细粒度授权,兼顾统一与安全 ✓ 正确答案
C 服务内无需校验
D 网关只转发
#

27. 微服务的密钥与凭据管理如何用 Vault/KMS/配置加密实现,静态加密、动态凭据与轮换机制如何配合

A 密钥硬编码即可
B Vault/KMS 集中管理,静态加密 + 动态凭据 + 轮换配合 ✓ 正确答案
C 凭据无需轮换
D 动态凭据长期有效
#

28. 服务间(machine-to-machine)身份认证方案 mTLS、客户端凭证 JWT、SPIFFE/SPIRE 各自的原理与适用边界

A mTLS 证书强安全、客户端凭证 JWT 契合 OAuth、SPIFFE/SPIRE 提供标准化服务身份 ✓ 正确答案
B 只能 mTLS
C SPIFFE 是 JWT
D 三者无边界
#

29. 权限模型 RBAC/ABAC 在微服务中如何与网关、服务、数据层协同,权限决策点(PDP)与执行点(PEP)如何分离

A PDP 与 PEP 同处
B PEP 拦截执行,PDP 集中决策,策略统一管理、执行分散 ✓ 正确答案
C 权限策略分散
D 无需分层授权
#

30. 零信任(Zero Trust)架构在微服务中如何落地,为什么不能默认信任内网流量而需逐请求鉴权

A 零信任不信任内网,逐请求鉴权 + mTLS + 最小权限 ✓ 正确答案
B 内网流量默认可信
C 只需网络隔离
D 内网安全边界可靠
#

31. Envoy 的 xDS 协议

A xDS 是控制面向数据面下发配置的协议,含 CDS/EDS/LDS/RDS ✓ 正确答案
B xDS 是客户端协议
C xDS 只用于 HTTP
D 配置需重启生效
#

32. Gateway 的 WebSocket 代理配置(ReadTimeout/Upgrade 协议)与长连接管理

A WebSocket 无需 Upgrade
B 无需超时配置
C WebSocket 是短连接
D 通过 Upgrade 协议升级,配置帧大小、超时、心跳管理长连接 ✓ 正确答案
#

33. Gateway 的全局过滤器(GlobalFilter)实现统一鉴权与灰度路由(基于 Header/权重)

A GlobalFilter 全局生效,实现统一鉴权与基于 Header/权重的灰度路由 ✓ 正确答案
B GlobalFilter 只对单个路由生效
C 灰度路由无需 GlobalFilter
D order 无影响
#

34. Gateway 的灰度发布实现,基于 Header/Cookie/权重的流量切分与版本路由

A 只能全量切换
B 版本路由无元数据
C 灰度无法按比例
D 基于 Header/Cookie 精准灰度、权重按量切分,结合元数据路由 ✓ 正确答案
#

35. Gateway 的自定义过滤器工厂(GatewayFilterFactory)与 OrderedGatewayFilter 的顺序控制

A 过滤器顺序无关
B 无法自定义过滤器
C GatewayFilterFactory 自定义过滤器,OrderedGatewayFilter 控制执行顺序 ✓ 正确答案
D 顺序固定不可调
#

36. Gateway 的跨域处理(CORS)与 Spring Security CORS 配置的冲突解决

A 两处都配 CORS 无冲突
B CORS 只能服务内配
C 统一在一处配置(网关优先),避免重复 CORS 头与覆盖 ✓ 正确答案
D 冲突无法解决
#

37. Istio 与 Spring Cloud 的取舍

A Istio 下沉治理到数据面无侵入、多语言,Spring Cloud 框架内治理侵入但 Java 生态 ✓ 正确答案
B Istio 有代码侵入
C Spring Cloud 支持多语言
D 两者等价
#

38. Istio 的 Ambient Mesh(无 Sidecar)的演进

A Ambient 仍每个 Pod 一个 Sidecar
B Ambient 与 Sidecar 相同
C Ambient 无安全
D Ambient 用 ztunnel + waypoint 替代每 Pod Sidecar,降低资源开销 ✓ 正确答案
#

39. Istio 的 Telemetry V2 与可观测性

A Telemetry V2 使用 mixer 组件
B Telemetry V2 由 Envoy 生成标准指标,Prometheus 采集,去掉 mixer 更轻量 ✓ 正确答案
C 指标需应用代码埋点
D V2 无追踪
#

40. Istio 的安全(mTLS/AuthorizationPolicy)

A mTLS 管授权
B 证书需手动管理
C AuthorizationPolicy 管加密
D mTLS 验证身份加密,AuthorizationPolicy 控制访问授权 ✓ 正确答案
#

41. Istio 的核心组件(Istiod/Envoy/Pilot)

A Pilot 是数据面
B Istiod 无服务发现
C Envoy 是控制面
D Istiod 统一控制面(含 Pilot/Citadel),Envoy 是数据面代理,xDS 下发配置 ✓ 正确答案
#

42. Istio 的流量管理(VirtualService/DestinationRule)

A VirtualService 定义目标策略
B DestinationRule 管路由
C VirtualService 定义路由规则,DestinationRule 定义目标策略(负载均衡/TLS/子集) ✓ 正确答案
D 两者独立无关
#

43. Linkerd 的轻量化与差异化

A Linkerd 用 Envoy 数据面
B Linkerd 用 Rust 微代理轻量低开销,自动 mTLS,简单安全 ✓ 正确答案
C Linkerd 功能比 Istio 全
D Linkerd 复杂
#

44. Seata TC(Transaction Coordinator)

A TC 是客户端组件
B TC 在应用内
C TC 是事务协调器,负责全局事务管理与分支协调,可集群部署 ✓ 正确答案
D TC 无状态
#

45. Seata XA 模式与数据库 XA 协议

A XA 是最终一致
B XA 基于数据库两阶段提交协议,强一致但依赖 DB 支持且性能差 ✓ 正确答案
C XA 无侵入高性能
D XA 不依赖数据库
#

46. Seata 与 Resilience4j 的边界

A 两者都管事务
B Seata 管熔断
C Resilience4j 管事务
D Seata 管分布式事务一致性,Resilience4j 管调用容错 ✓ 正确答案
#

47. Seata 的 GlobalTransactionScanner 与 @GlobalTransactional

A 注解无需扫描
B Scanner 只扫描本地事务
C GlobalTransactionScanner 扫描 @GlobalTransactional 并创建 AOP 拦截器 ✓ 正确答案
D 注解只声明不拦截
#

48. Seata 的 LockConflict 与重试

A 锁冲突立即失败
B LockConflict 时按配置重试获取锁,超时后失败 ✓ 正确答案
C 锁冲突无需处理
D 重试无限次
#

49. Seata 的 LockStore 与 SessionManager

A LockStore 管会话
B LockStore 管理全局锁,SessionManager 管理事务会话与状态持久化 ✓ 正确答案
C SessionManager 管锁
D 两者不涉及 TC
#

50. Seata 的 SPI 扩展与定制

A Seata 通过 SPI 提供注册中心、存储、序列化等扩展点 ✓ 正确答案
B Seata 不支持扩展
C SPI 只能扩展 UI
D 扩展需改核心
#

51. Seata 的 SeataConfig 与 Configuration

A Seata 配置只能本地文件
B Configuration 是写死的
C 配置无法动态
D Seata 通过 Configuration 抽象管理配置,可接配置中心(Nacos 等)动态加载 ✓ 正确答案
#

52. Seata 的 TC/TM/RM 三个核心组件在三阶段协作中的工程价值

A RM 发起全局事务
B TM 定义边界、RM 管理资源、TC 集中协调,XID 贯穿三阶段 ✓ 正确答案
C TC 管理资源
D TM 协调事务
#

53. Seata 的 undo_log 表结构

A undo_log 只存 XID
B undo_log 存 branch_id/xid/rollback_info(前后镜像)/log_status,支撑 AT 回滚 ✓ 正确答案
C rollback_info 用于索引
D undo_log 与回滚无关
#

54. Seata 的高可用(registry.conf/Nacos 注册)

A TC 单点即可
B TC 集群通过 registry.conf 配置 Nacos 注册,客户端发现 TC,故障切换 ✓ 正确答案
C 无需注册中心
D 状态无需持久化
#

55. JWT 的过期与刷新(refresh token)机制如何设计,token 撤销(黑名单/短有效期)在分布式下的难点是什么

A JWT 无状态难撤销,用黑名单(Redis 共享)或短有效期,分布式下需共享存储 ✓ 正确答案
B JWT 可立即撤销
C 黑名单无需共享
D 短有效期无代价
#

56. Seata 2.x 与 Saga 状态机引擎的演进,可视化编排与补偿策略

A Saga 状态机不可编排
B 无演进
C 补偿不可配置
D Seata 2.x Saga 支持 JSON DSL 状态机、可视化编排与可配置补偿策略 ✓ 正确答案
#

57. Seata 的 client.rm.report.success.enable 配置在分支事务上报中的作用

A 该配置控制全局事务
B 只能 true
C 与分支无关
D 控制分支事务是否上报成功,true 明确状态、false 省开销但需其他机制确认 ✓ 正确答案
#

58. Service Mesh 与 API Gateway 的边界

A 两者都管南北向
B 两者职责相同
C Gateway 管南北向(对外入口),Mesh 管东西向(服务间治理) ✓ 正确答案
D Mesh 管对外
#

59. Service Mesh 与 Java 应用的诊断

A 只需诊断应用
B Mesh 诊断网络/路由,Java 诊断 JVM/性能,结合 TraceID 定位 ✓ 正确答案
C Mesh 诊断 JVM
D 两者无关
#

60. Service Mesh 与 Spring Cloud Gateway 的共存策略

A Gateway 管南北向、Mesh 管东西向,分层避免重复治理 ✓ 正确答案
B 两者互斥
C 都做服务间治理
D 无法共存
#

61. Service Mesh 的 mTLS 性能影响

A mTLS 无开销
B 加解密零成本
C 握手可忽略
D mTLS 有加解密与握手开销,用长连接复用、会话复用缓解 ✓ 正确答案
#

62. Service Mesh 的可观测性(Kiali/Jaeger/Prometheus)

A 只需 Prometheus
B Kiali 管追踪
C Jaeger 管指标
D Prometheus 指标、Kiali 拓扑、Jaeger 追踪,三者构成 Mesh 可观测性 ✓ 正确答案
#

63. Service Mesh 的核心概念(Sidecar/Data Plane/Control Plane)

A Control Plane 处理流量
B Sidecar 是代理,Data Plane 处理流量,Control Plane 下发配置 ✓ 正确答案
C Data Plane 管配置
D Sidecar 是控制面
#

64. Service Mesh 的零信任(Zero Trust)

A Mesh 零信任只加密
B 零信任信任内网
C Mesh 零信任用 mTLS + AuthorizationPolicy + 微分段,平台下沉、应用无感 ✓ 正确答案
D 证书需应用管理
#

65. Spring Cloud Gateway 的路由谓词(RoutePredicateFactory)与过滤器链执行顺序

A 谓词管处理
B RoutePredicateFactory 匹配路由,过滤器链按 order 顺序执行 ✓ 正确答案
C 过滤器决定匹配
D 顺序固定
#

66. 跨服务调用时用户身份与权限如何透传,SecurityContext 在异步/Feign/WebClient 场景的传播方案有哪些

A 身份不会跨服务
B 请求头透传身份,Feign/WebClient 用拦截器注入,异步用 TaskDecorator 传递 SecurityContext ✓ 正确答案
C 异步无需传递
D 身份只在本服务