软件架构风格

RESTful

RESTful 架构的主要特点包括:

  1. 资源识别: 每个URI代表一种资源,可以使用HTTP方法(GET, POST, PUT, DELETE)对资源进行操作。
  2. 无状态: 每个请求都包含执行操作所需的所有信息,服务器不保留客户端的状态。
  3. 可缓存: 响应结果可以被缓存以提高性能。
  4. 统一接口: 使用标准的HTTP方法和状态码,将资源暴露给客户端。
  5. 分层系统: 允许中间层组件(如负载均衡器、代理服务器等)参与请求-响应的流程。
  6. 代码按需传输: 可以根据客户端的需求,仅传输所需的数据表述(如JSON、XML等)。
GET /posts              # 获取所有帖子列表
GET /posts/123          # 获取指定帖子详情
POST /posts             # 创建新帖子
PUT /posts/123          # 更新指定帖子
DELETE /posts/123       # 删除指定帖子

GET /posts/123/comments # 获取指定帖子的所有评论
POST /posts/123/comments # 为指定帖子创建新评论

RPC (Remote Procedure Call)

  • RPC 风格的 API 将服务抽象为一组可调用的远程过程或函数。
  • 客户端直接调用服务端暴露的方法,而不是操作资源。通常使用XML-RPC或JSON-RPC等协议。
  • RPC 更关注于抽象化服务的功能,而不是资源本身。
# 调用"计算交易收益"远程过程
POST /rpc
{
    "method": "calculateTradeProfit",
    "params": {
        "tradeId": 123,
        "accountId": 456
    }
}

# 调用"查询账户余额"远程过程
POST /rpc
{
    "method": "getAccountBalance",
    "params": {
        "accountId": 456
    }
}
posted @ 2024-08-17 18:01  Ho1d_F0rward  阅读(12)  评论(0)    收藏  举报