最简单的例子:PHP 接收请求 → Go 处理高并发 → Python 做分析

  ---                                                                                                                     场景:用户下单统计
                                                                                                                          [PHP 前端] --HTTP--> [Go API] --消息队列--> [Python 分析]

  ---
  1. Go — 高并发订单接口

  // main.go
  package main

  import (
      "encoding/json"
      "fmt"
      "net/http"
  )

  func orderHandler(w http.ResponseWriter, r *http.Request) {
      order := map[string]any{
          "order_id": 1001,
          "status":   "created",
      }
      w.Header().Set("Content-Type", "application/json")
      json.NewEncoder(w).Encode(order)
  }

  func main() {
      http.HandleFunc("/order", orderHandler)
      fmt.Println("Go API running on :8080")
      http.ListenAndServe(":8080", nil)
  }

  ---
  2. PHP — 调用 Go 接口

  <?php
  // call_go.php
  $response = file_get_contents('http://localhost:8080/order');
  $order = json_decode($response, true);

  echo "订单ID: " . $order['order_id'] . "\n";
  echo "状态: " . $order['status'] . "\n";

  ---
  3. Python — 分析订单数据

  # analyze.py
  import requests

  resp = requests.get('http://localhost:8080/order')
  order = resp.json()

  print(f"分析订单: {order['order_id']}, 状态: {order['status']}")
  # 这里可以接 pandas / ML 模型

  ---
  运行步骤

  # 启动 Go 服务
  go run main.go

  # PHP 调用
  php call_go.php

  # Python 分析
  python analyze.py

  ---
  核心思路: Go 做统一入口,PHP/Python 都通过 HTTP 调用它。三者解耦,各干各的强项。

更多推荐