当前位置: 首页 > 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.lryc.cn/news/578069.html

相关文章:

  • UI前端大数据处理挑战与对策:保障数据安全与隐私
  • 【知识】RPC和gRPC
  • Reactor操作符的共享与复用
  • Excel数据匹配合并工具
  • Linux 系统管理:自动化运维与容器化部署
  • 2025年数字信号、计算机通信与软件工程国际会议(DSCCSE 2025)
  • postman接口测试全部流程
  • Git 简介安装教程
  • [附源码+数据库+毕业论文]基于Spring+MyBatis+MySQL+Maven+jsp实现的校园服务平台管理系统,推荐!
  • Fiddler中文版抓包工具如何帮助前端开发者高效调试
  • 我的第一个开源项目:用Python搭建轻量级静态网页服务器—— 零基础也能实现的Web开发初体验
  • 鸿蒙应用开发:ArkTS中接口的声明和使用
  • SQL优化(插入、主键、order by、group by)
  • 关于 java:8. Java 内存模型与 JVM 基础
  • ClickHouse 部署
  • RK3568平台开发系列讲解:WIFI的调试手段
  • 重构老项目不再“踩雷”:飞算JavaAI的本地化智能合并实战
  • 企业自建云概念解读|私有云、专有云、混合云、分布式云、企业云
  • Windows桌面上的「了解此图片」怎么弄掉?
  • Tailwind CSS 配置正确,也没有报错,但是样式没有生效(解决~)
  • 如何用废弃电脑变成服务器搭建web网站(公网访问零成本)
  • 成像光谱遥感技术中的AI革命:ChatGPT在遥感领域中的应用
  • 【MySQL基础】MySQL索引全面解析:从原理到实践
  • vscode ssh远程连接ubuntu20失败的解决方法
  • 第9篇:Gin配置管理-Viper的实战使用
  • 批量生成文件名6
  • LeetCode Hot100 (二叉树)
  • 大模型-分布式推理简介
  • Deepoc 大模型在无人机行业应用效果的方法
  • c# 详细分析Task.sleep和Thread.sleep 的区别、使用场景和应用示例