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

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

🧸安清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.xdnf.cn/news/14723.html

相关文章:

  • PCB工艺学习与总结-20250628
  • 推荐几本关于网络安全的书
  • Linux中《动/静态库原理》
  • python sklearn 机器学习(1)
  • Web应用开发 --- Tips
  • Windows 环境下设置 RabbitMQ 的 consumer_timeout 参数
  • 现代 JavaScript (ES6+) 入门到实战(三):字符串与对象的魔法升级—模板字符串/结构赋值/展开运算符
  • 华为云Flexus+DeepSeek征文 | 二次开发学习顾问系统对接华为云ModelArts Studio 实现智能答疑学习辅导
  • 设计模式之适配器模式
  • Unity Catalog 三大升级:Data+AI 时代的统一治理再进化
  • Leetcode 3598. Longest Common Prefix Between Adjacent Strings After Removals
  • JDK自带的HttpClient,替代Apache的更优解?
  • Spring Cloud:分布式事务管理与数据一致性解决方案
  • 【如何实现分布式压测中间件】
  • 【算法设计与分析】(二)什么是递归,以及分治法的基本思想
  • 【word】把参考文献序号统一换为上标
  • github上传代码步骤(http)
  • Redis--黑马点评--消息队列
  • 基于 SpringBoot 实现一个 JAVA 代理 HTTP / WS
  • 电压跟随器输入电压正常、输出电压等于0V?
  • WebRTC(十三):信令服务器
  • python动漫周边电商网站系统
  • 视频序列中的帧间匹配技术 FrameMatcher 详解
  • 领域驱动设计(DDD)【23】之泛化:从概念到实践
  • SQL 子查询全位置解析:可编写子查询的 7 大子句
  • Web基础关键_004_CSS(二)
  • 2023国赛linux的应急响应-wp
  • JSON简介及其应用
  • 【LLIE专题】EnlightenGAN 无监督低照度图像增强
  • 实现一个AI大模型当前都无法正确实现的基础二叉树读取算法