演示代码是一个简单的图片处理服务
+---------+ +---------+
| Gateway +------------------>| Webdav |
+----+----+ +---------+
| ^
| +----------+ |
+------->| Process +---------+
+----------+
- Gateway 应用入口
- Webdav 负责照片数据的 CRUD
- Process 是图片处理,包含多种处理算法:灰化、加水印等
Gateway 可以直接调用 Webdav 接口,查询图片列表;然后调用 Process 接口(Process 从 Webdav 拿到图片,然后图片处理之后再返回给 Gateway)展示图片。
- AIO 环境,4Core / 8G / 40G,CentOS 7.9
- 部署 KubeClipper 1.3.2 + K8S v1.23.6,参考 Github 或 Gitee
- 配置默认的、支持动态分配存储的 Storage Class,参考 Github 或 Gitee
项目可以通过 deploy.yaml 文件 部署到标准 K8S 环境中。
# 清除 namespace ms-demo
kubectl delete ns ms-demo
# 创建 namespace ms-demo
kubectl create ns ms-demo
# 部署项目到 ms-demo namespace
wget https://gitee.com/dev-99cloud/micro-service-demo/raw/master/manifest/deploy.yaml
kubectl -n ms-demo apply -f deploy.yaml
然后访问 http://<IP>:30086
,可以看到 Gateway 页面,可以 CRUD 图片。
调整 deploy.yaml 中,令:
GRAYSCALE = "true"
,重新 apply,可以看到图片的灰化效果- 配置
WATERMARK = "hello"
,可以看到水印效果。
访问 /process/_statusCode_
,可以返回 500
# curl -i http://47.242.127.16:30086/process/_statusCode_
HTTP/1.1 500 Internal Server Error
Pod-Name: gateway-7f745b5c5d-sbn8h
Date: Sun, 23 Oct 2022 10:05:07 GMT
Content-Length: 21
Content-Type: text/plain; charset=utf-8
Internal Server Error