当前位置: 首页 > news >正文

【期末分布式】分布式的期末考试资料大题整理

🧸安清h:个人主页 

   🎥个人专栏:【Spring篇】【计算机网络】【Mybatis篇】


🎯大题

✨一.Nacos的服务注册与发现

🚦1.怎么来进行服务的注册与发现的这样的一个流程,描述一下。

🎃描述Nacos服务注册与发现的流程
① 服务提供者启动时向Nacos注册自身信息;
② 服务消费者启动时订阅所需服务;
③ Nacos通过心跳机制检查服务健康状态;
④ 消费者调用服务时从Nacos获取可用实例;
⑤ 消费者通过负载均衡选择实例发起调用

🚦2.Nacos配置客户端信息

 

✨二.声明式服务调用组件

 1.写一个OpenFeign的客户端。

高频考点预测

🚦1.客户端接口定义

请为服务 user-service 的 REST 端点 GET /user/{id} 编写 OpenFeign 客户端接口。

@FeignClient(value = "user-service") // 必写:指定服务名

public interface UserServiceClient {

    @GetMapping("/user/{id}")        // 必写:映射请求方法和路径

    String getUserById(@PathVariable("id") Integer id); // 参数注解不可省略}

 🚦2.请求方法映射

将以下方法转为 Feign 客户端接口(服务名:order-service):

// 原始 Controller 方法:
@PostMapping("/create")
public Order createOrder(@RequestBody Order order);

答案:

@FeignClient("order-service")
public interface OrderServiceClient {
    @PostMapping("/create")
    Order createOrder(@RequestBody Order order); // 注意:参数注解需保留

🚦题型:
1.补全代码题
// 补全Feign客户端调用 user-service 的 /users/{userId} 接口
@______(name = "_________")
public interface UserServiceClient {@______("/users/{userId}")User getUser(@______("userId") String id);
}

答案
@FeignClient"user-service"@GetMapping@PathVariable

2.改错题
// 找出以下代码的3处错误
@FeignClient("order-service")
public class OrderClient {@RequestMapping("/orders/{orderId}")Order getOrder(@PathVariable Long orderId);
}

 错误点
① 必须是interface不能是class
② @RequestMapping未指定method类型
③ @PathVariable缺少value属性(当参数名≠路径变量时)

3.场景应用题

为支付服务编写Feign客户端,要求:

  • 服务名:payment-service

  • 端点:POST /payments 接收JSON格式Payment对象

  • 端点:GET /payments/{id} 返回Payment对象

@FeignClient("payment-service")
public interface PaymentClient {@PostMapping("/payments")Payment createPayment(@RequestBody Payment payment);@GetMapping("/payments/{id}")Payment getPayment(@PathVariable("id") String paymentId);
}

✨三.服务容错组件Sentinel

🚦1.sentinel如何定义

SphU:

SphO:

🚦2.写一个流控规则

✨四.API网关Gateway 

🚦1.写一个断言的相应配置

比如说,让你请求那个路径,转发给谁。

🚦2.自定义的路由断言

✨五.Nacos配置中心

🚦1.如果给定了DataID,group和文件格式,在配置文件中该如何与之对应?

🚦2.DataID的配置 

 

http://www.lqws.cn/news/587827.html

相关文章:

  • 安装bcolz包报错Cython.Compiler.Errors.CompileError: bcolz/carray_ext.pyx的解决方法
  • 服务器被入侵的常见迹象有哪些?
  • AI--提升效率、驱动创新的核心引擎
  • 项目管理进阶——133个软件项目需求评审检查项
  • 集群【运维】麒麟V10挂载本地yum源
  • 03认证原理自定义认证添加认证验证码
  • WebSocket 的核心原理和工作流程
  • 关于 java:8. Java 内存模型与 JVM 基础
  • 嵌入式原理与应用篇---常见基础知识(10)
  • 实战案例:使用C#实现高效MQTT消息发布系统
  • w-笔记:uni-app的H5平台和非H5平台的拍照识别功能:
  • Python 库 包 软件开发工具包(SDK) openai
  • AlpineLinux安装docker
  • STM32——DAP下载程序和程序调试
  • 初始化挂载Linux数据盘
  • Android 中 使用 ProgressBar 实现进度显示
  • Intel oneAPI工具集全面解析:从环境配置到流体动力学模拟优化
  • try-catch-finally 如何使用?
  • 《JMS 消息重试机制与死信队列配置指南:以 IBM MQ 与 TongLinkQ 为例》
  • 大模型在多发性硬化预测及治疗方案制定中的应用研究
  • 选择 PDF 转 HTML 转换器的 5 个关键特性
  • MySQL:CRUD操作
  • uniapp小程序蓝牙打印通用版(集成二维码打印)
  • 在vue当中使用动画
  • Oracle 树形统计再进阶:类型多样性与高频类型分析(第三课)
  • Monad:函数式编程中的 “容器模式”
  • 六自由度按摩机器人 MATLAB 仿真
  • Openssl升级
  • SQL规范
  • FastAPI 学习(二)