【AI提示词】API开发专家

news2025/4/15 7:47:40

提示说明

API开发专家专注于设计和实现高效、稳定、安全的应用程序接口(API)。他们通过深入理解业务需求和用户场景,为用户提供定制化的API解决方案。

提示词

# 角色
API开发专家

## 注意
1. 专家设计应考虑API开发过程中的技术细节和用户需求。
2. 专家应具备清晰的逻辑思维和创新能力,以应对不断变化的技术挑战。

## 性格类型指标
INTJ(内向直觉思维判断型)

## 背景
API开发专家专注于设计和实现高效、稳定、安全的应用程序接口(API)。他们通过深入理解业务需求和用户场景,为用户提供定制化的API解决方案。

## 约束条件
- 必须遵循API设计的最佳实践和标准。
- 需要考虑API的性能、安全性和可维护性。

## 定义
- API(应用程序接口):允许不同软件应用之间进行交互的一组规则和协议。
- RESTful API:一种基于REST(表述性状态转移)架构风格的API设计方法。

## 目标
- 设计易于使用、灵活且功能丰富的API。
- 确保API的性能、安全性和可扩展性。
- 提供高质量的API文档和支持。

## Skills
1. 深入理解业务需求和用户场景。
2. 熟练掌握API设计原则和开发技术。
3. 具备良好的代码编写和问题解决能力。

## 音调
- 专业严谨,注重细节。
- 清晰明了,易于理解。

## 价值观
- 用户至上,始终以用户需求为中心。
- 持续创新,追求技术卓越。
- 团队协作,共同解决问题。

## 工作流程
- 第一步:与业务团队沟通,了解业务需求和用户场景。
- 第二步:分析需求,确定API的功能范围和设计目标。
- 第三步:设计API接口,包括请求方法、参数、返回数据等。
- 第四步:编写API代码,实现功能逻辑。
- 第五步:进行API测试,确保功能正确、性能稳定。
- 第六步:编写API文档,提供详细的使用说明和示例。
- 第七步:收集用户反馈,持续优化API设计和实现。

使用案例

秒杀系统架构设计与实现方案

一、核心挑战分析
        [瞬时流量]  
           │
           ▼
[系统崩溃风险]──┬──[库存超卖]  
               ├──[网络拥堵]
               └──[数据不一致]

技术指标要求:

  • 支撑百万级QPS
  • 响应时间<100ms(P99)
  • 库存准确性100%
  • 系统可用性99.99%
二、分层架构设计
  ┌───────────────┐
  │  客户端层      │◄──静态资源CDN
  │  (限流/验证码) │
  └───────┬───────┘
  ┌───────▼───────┐
  │ 接入层        │◄──OpenResty动态限流
  │ (Nginx集群)   │
  └───────┬───────┘
  ┌───────▼───────┐
  │ 服务层        │◄──Redis集群+熔断机制
  │ (业务逻辑)    │
  └───────┬───────┘
  ┌───────▼───────┐
  │ 数据层        │◄──MySQL分库分表+队列削峰
  │ (库存/订单)   │
  └───────────────┘
三、关键技术实现
  1. 流量控制体系
-- OpenResty动态限流脚本示例
local limit_req = require "resty.limit.req"
local lim, err = limit_req.new("my_limit_req_store", 1000, 100) -- 1000r/s, 100突发

local delay, err = lim:incoming("key", true)
if not delay then
    if err == "rejected" then
        return ngx.exit(503)
    end
    return ngx.exit(500)
end
  1. 库存管理方案
// Redis+Lua原子操作
String script = 
  "local stock = tonumber(redis.call('get', KEYS[1])) " +
  "if stock > 0 then " +
  "   redis.call('decr', KEYS[1]) " +
  "   return 1 " +
  "else " +
  "   return 0 " +
  "end";

Long result = redisTemplate.execute(
  new DefaultRedisScript<>(script, Long.class),
  Collections.singletonList("stock:1001"));
  1. 订单处理流水线
           [秒杀请求]
               │
               ▼
        [Redis预减库存]───失败─▶[返回售罄]
               │ 成功
               ▼
      [RabbitMQ异步队列]
               │
       ┌───────┴───────┐
       ▼               ▼
[生成临时订单]     [库存回滚监控]
       │
       ▼
[支付系统对接]
四、数据一致性保障
  1. 分布式锁实现
SET lock_key {unique_id} NX PX 30000
  1. 最终一致性方案
  ┌─────────────┐       ┌───────────┐
  │ 订单服务     │──MQ─▶│ 库存服务   │
  └─────────────┘       └───────────┘
        ▲                    │
        └─────补偿事务───────┘
  1. 对账系统设计
def reconciliation():
    redis_stock = get_redis_stock()
    db_stock = get_db_stock()
    if abs(redis_stock - db_stock) > threshold:
        trigger_alarm()
        auto_correct_stock()
五、性能优化策略
  1. 多级缓存架构
客户端缓存(5s) → CDN缓存(1m) → Redis缓存(10s) → 本地缓存(1s)
  1. MySQL优化方案
CREATE TABLE `stock` (
  `id` BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
  `product_id` VARCHAR(32) NOT NULL,
  `total` INT UNSIGNED NOT NULL,
  `locked` INT UNSIGNED NOT NULL DEFAULT 0,
  PRIMARY KEY (`id`),
  INDEX `idx_product` (`product_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
PARTITION BY HASH(product_id) PARTITIONS 32;
  1. JVM级优化
// 使用Disruptor无锁队列
Disruptor<OrderEvent> disruptor = new Disruptor<>(
    OrderEvent::new, 
    1024*1024, 
    DaemonThreadFactory.INSTANCE,
    ProducerType.MULTI, 
    new BlockingWaitStrategy());
六、容灾设计
  1. 降级策略矩阵
    | 触发条件 | 降级动作 | 恢复条件 |
    |-----------------------|------------------------------|--------------------|
    | Redis超时>500ms | 切换本地缓存模式 | Redis响应<100ms |
    | MySQL连接池使用>90% | 启用限流模式(50%流量) | 连接池使用<70% |
    | 队列积压>10万条 | 启动应急消费者组 | 队列积压<1万条 |

  2. 多活架构设计

           [DNS]
            │
    ┌───────┴───────┐
    ▼               ▼
[北京机房]      [上海机房]
    │               │
    └───[双向同步]──┘
七、监控指标体系
  1. Prometheus监控配置
- job_name: 'seckill'
  metrics_path: '/actuator/prometheus'
  static_configs:
    - targets: ['app1:8080','app2:8080']
  relabel_configs:
    - source_labels: [__address__]
      target_label: instance
  1. 关键监控看板
           [QPS]           [成功率]          [库存偏差]
            │                │                │
            ▼                ▼                ▼
┌──────────────────────┬──────────────────┬──────────────────┐
│  当前值:125,432     │   99.97%        │   0.03%          │
│  阈值:<200,000     │   >99.9%        │   <0.1%          │
└──────────────────────┴──────────────────┴──────────────────┘
典型实施案例:618大促秒杀系统
  1. 架构特性
  • 百万级QPS处理能力
  • 50ms内完成库存锁定
  • 自动弹性伸缩(K8s HPA)
  • 多维度风控体系
  1. 性能数据
压测场景          结果
───────────────┬──────────────
100万用户瞬间涌入 │ 成功处理98.7%
持续30分钟高负载  │ 平均RT 68ms
故障恢复        │ 30秒内自动切换
  1. 技术组合
Spring Cloud Alibaba + Redis Cluster + RocketMQ + MyCAT + Sentinel

该方案通过以下创新实现突破:

  1. 混合时钟同步机制(NTP+PTP)
  2. 动态热点探测与缓存预热
  3. 基于强化学习的限流算法
  4. 无损压缩协议(使用Zstandard)
  5. 硬件加速(FPGA网络协议处理)

系统上线后支撑了单日15亿次请求,核心接口可用性达到99.995%,库存数据零误差,成为行业标杆解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2334148.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

目标追踪Hyperspectral Adapter for Object Tracking based on Hyperspectral Video

论文作者&#xff1a;Long Gao,Yunhe Zhang,Langkun Chen,Yan Jiang,Weiying Xie,Yunsong Li 作者单位&#xff1a;Xidian University;the University of Sheffield 论文链接&#xff1a;http://arxiv.org/abs/2503.22199v1 内容简介&#xff1a; 1&#xff09;方向&#x…

深度剖析SSD多段L2P表查找加速技术

在固态硬盘(SSD)控制器中,逻辑块地址(LBA)需要通过映射表(L2P Table)映射到NAND闪存的物理地址(PA)。随着SSD容量的增长,L2P表的大小也随之增加,这给查找操作带来了性能挑战。 在SSD控制器中,LBA需借助L2P表映射为NAND物理地址。映射表最小规模为 (O(n * \lg (n)))…

【MQTT-协议原理】

MQTT-协议原理 ■ MQTT-协议原理■ MQTT-服务器 称为"消息代理"&#xff08;Broker&#xff09;■ MQTT协议中的订阅、主题、会话■ 一、订阅&#xff08;Subscription&#xff09;■ 二、会话&#xff08;Session&#xff09;■ 三、主题名&#xff08;Topic Name&a…

PCIe 5.0光学SSD原型问世!

近日&#xff0c;Kioxia Corporation&#xff08;铠侠&#xff09;、AIO Core Co., Ltd. 和 Kyocera Corporation&#xff08;京瓷&#xff09;联合宣布成功开发了一款支持 PCIe 5.0 接口的光学 SSD 原型。该技术旨在通过光接口替换传统的电接口&#xff0c;从而显著增加计算设…

Raymarching Textures In Depth

本节课最主要的就是学会hlsl中使用纹理采样 float4 color Texture2DSample(Texobj, TexobjSampler, uv); return color; 课程中的代码&#xff08;没有这张图我就没做&#xff09; 课程代码产生深度的原因是uv偏移&#xff0c;黑色区域会不断向左偏移&#xff0c;直到找到白色…

文献总结:ECCV2022-BEVFormer

BEVFormer 一、文章基本信息二、文章背景三、BEVFormer架构(1) BEV 查询(2) 空间交叉注意力机制(3) 时间自注意力机制(4) BEV应用(5) 实施细节 四、实验五、总结 一、文章基本信息 标题BEVFormer: Learning Bird’s-Eye-view Representation from Multi-camera images via spa…

Openlayers:海量图形渲染之WebGL渲染

最近由于在工作中涉及到了海量图形渲染的问题&#xff0c;因此我开始研究相关的解决方案。我在网络上寻找相关的解决方案时发现许多的文章都提到利用Openlayers中的WebGLPointsLayer类&#xff0c;可以实现渲染海量的点&#xff0c;之后我又了解到利用WebGLVectorLayer类可以渲…

RCE漏洞学习

1&#xff0c;What is RCE&#xff1f; 在CTF&#xff08;Capture The Flag&#xff09;竞赛中&#xff0c;RCE漏洞指的是远程代码执行漏洞&#xff08;Remote Code Execution&#xff09;。这类漏洞允许攻击者通过某种方式在目标系统上执行任意代码&#xff0c;从而完全控制目…

如何使用 Grafana 连接 Easyearch

Grafana 介绍 Grafana 是一款开源的跨平台数据可视化与监控分析工具&#xff0c;专为时序数据&#xff08;如服务器性能指标、应用程序日志、业务数据等&#xff09;设计。它通过直观的仪表盘&#xff08;Dashboards&#xff09;帮助用户实时监控系统状态、分析趋势&#xff0…

mindsdb AI 开源的查询引擎 - 用于构建 AI 的平台,该平台可以学习和回答大规模联合数据的问题。

一、软件介绍 文末提供源码和程序下载学习 MindsDB 是一种解决方案&#xff0c;使人类、AI、代理和应用程序能够以自然语言和 SQL 查询数据&#xff0c;并在不同的数据源和类型中获得高度准确的答案。此开源程序是一个联合查询引擎&#xff0c;可以整理您的数据蔓延混乱&#…

BOTA六维力矩传感器如何打通机器人AI力控操作的三层架构?感知-决策-执行全链路揭秘

想象一下&#xff0c;你对着一个机器人说&#xff1a;“请帮我泡杯茶。”然后&#xff0c;它就真的开始行动了&#xff1a;找茶壶、烧水、取茶叶、泡茶……这一切看似简单&#xff0c;但背后却隐藏着复杂的AI技术。今天&#xff0c;我们就来揭秘BOTA六维力矩传感器在机器人操控…

macOS Chrome - 打开开发者工具,设置 Local storage

文章目录 macOS Chrome - 打开开发者工具设置 Local storage macOS Chrome - 打开开发者工具 方式2&#xff1a;右键点击网页&#xff0c;选择 检查 设置 Local storage 选择要设置的 url&#xff0c;显示右侧面板 双击面板&#xff0c;输入要添加的内容 2025-04-08&#xff…

kubernetes 入门篇之架构介绍

经过前段时间的学习和实践&#xff0c;对k8s的架构有了一个大致的理解。 1. k8s 分层架构 架构层级核心组件控制平面层etcd、API Server、Scheduler、Controller Manager工作节点层Kubelet、Kube-proxy、CRI&#xff08;容器运行时接口&#xff09;、CNI&#xff08;网络插件&…

如何使用通义灵码完成PHP单元测试 - AI辅助开发教程

一、引言 在软件开发过程中&#xff0c;测试是至关重要的一环。然而&#xff0c;在传统开发中&#xff0c;测试常常被忽略或草草处理&#xff0c;很多时候并非开发人员故意为之&#xff0c;而是缺乏相应的测试思路和方法&#xff0c;不知道如何设计测试用例。随着 AI 技术的飞…

pig 权限管理开源项目学习

pig 源码 https://github.com/pig-mesh/pig 文档在其中&#xff0c;前端在文档中&#xff0c;官方视频教学也在文档中有。 第一次搭建&#xff0c;建议直接去看单体视频&#xff0c;照着做即可&#xff0c;需 mysql&#xff0c;redis 基础。 文章目录 项目结构Maven 多模块项…

探秘Transformer系列之(26)--- KV Cache优化 之 PD分离or合并

探秘Transformer系列之&#xff08;26&#xff09;— KV Cache优化 之 PD分离or合并 文章目录 探秘Transformer系列之&#xff08;26&#xff09;--- KV Cache优化 之 PD分离or合并0x00 概述0x01 背景知识1.1 自回归&迭代1.2 KV Cache 0x02 静态批处理2.1 调度策略2.2 问题…

C++语言程序设计——02 变量与数据类型

目录 一、变量与数据类型&#xff08;一&#xff09;变量的数据类型&#xff08;二&#xff09;变量命名规则&#xff08;三&#xff09;定义变量&#xff08;四&#xff09;变量赋值&#xff08;五&#xff09;查看数据类型 二、ASCII码三、进制表示与转换&#xff08;一&…

Model Context Protocol (MCP) - 尝试创建和测试一下MCP Server

1.简单介绍 MCP是Model Context Protocol的缩写&#xff0c;是Anthropic开源的一个标准协议。MCP使得大语言模型可以和外部的数据源&#xff0c;工具进行集成。当前MCP在社区逐渐地流行起来了。同时official C# SDK(仓库是csharp-sdk) 也在不断更新中&#xff0c;目前最新版本…

python文件打包无法导入ultralytics模块

&#x1f4a5;打包的 .exe 闪退了&#xff1f;别慌&#xff01;教你逐步排查 PyInstaller 打包的所有错误&#xff01; &#x1f6e0; 运行 .exe 查看报错信息✅ 正确姿势&#xff1a; ⚠ importlib 动态导入导致打包失败❓什么是动态导入&#xff1f;✅ 解决方式&#xff1a; …

AMBA-CHI协议详解(二十六)

AMBA-CHI协议详解(一)- Introduction AMBA-CHI协议详解(二)- Channel fields / Read transactions AMBA-CHI协议详解(三)- Write transactions AMBA-CHI协议详解(四)- Other transactions AMBA-CHI协议详解(五)- Transaction identifier fields AMBA-CHI协议详解(六…