// users.php
function getUser($id) {
// 從數據庫中查詢用戶信息
// ...
return $user;
}
function createUser($data) {
// 創建新用戶
// ...
return $userId;
}
1. 創建Laravel項目:
$ composer create-project --prefer-dist laravel/laravel user-service
2. 創建用戶控制器:
// app/Http/Controllers/UserController.php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class UserController extends Controller
{
public function show($id)
{
$user = getUser($id);
return response()->json($user);
}
public function store(Request $request)
{
$data = $request->input('data');
$userId = createUser($data);
return response()->json(['id' => $userId]);
}
}
3. 配置接口路由:
// routes/api.php
use App\Http\Controllers\UserController;
Route::get('/users/{id}', [UserController::class, 'show']);
Route::post('/users', [UserController::class, 'store']);
1. 使用Docker打包服務:
FROM php:7.4-apache
# 安裝PHP擴展
RUN docker-php-ext-install pdo_mysql
# 拷貝代碼
COPY . /var/www/html
# 配置Apache
COPY docker/apache2.conf /etc/apache2/apache2.conf
CMD ["apache2-foreground"]
2. Kubernetes部署配置:
# user-service.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: user-service
spec:
replicas: 3
selector:
matchLabels:
app: user-service
template:
metadata:
labels:
app: user-service
spec:
containers:
- name: user-service
image: user-service:latest
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: user-service
spec:
selector:
app: user-service
ports:
- protocol: TCP
port: 80
targetPort: 80
3. 使用kubectl部署服務:
$ kubectl apply -f user-service.yaml