iloom × muyu-apiserver 系统架构

纺织供应链管理 · 微服务架构 · 点击服务卡片查看详情

Frontend
Gateway
iloom 服务
muyu 服务
数据层
HTTP
gRPC
SQL
React SPA
:3015
Frontend
🖥
muyu-portal
:8080 (Nginx)
muyu 前端
iloom 微服务集群
🔀
API Gateway
:8080
JWT 验证
CORS
路由分发
限流
🔐
Auth Service
:8081
认证 · 公司 · 成员
🛒
Purchaser Service
:8082
采购 · 计划 · 产品
🧵
Textile Service
:8083
纺织 · 纱线 · 工序
💧
Washing Service
:8084
水洗 · 成品 · 出库
muyu-apiserver
🌐
muyu Gateway
:8888 (REST)
go-zero API
👤
System RPC
:9001 (gRPC)
用户
角色
菜单
权限
📦
Inventory RPC
:9002 (gRPC)
产品
库存
盘点
Redis
:6379
🔧
etcd
:2379
MySQL 8.0 · muyu_wms · :3306

ilm_* 表 (iloom 拥有 · 直接 SQL 读写)

  • ilm_company — 公司
  • ilm_company_member — 成员
  • ilm_company_relationship — 公司关系
  • ilm_product_ext — 产品扩展
  • ilm_production_plan — 生产计划
  • ilm_plan_factory — 计划工厂
  • ilm_yarn_ratio — 纱线配比
  • ilm_process_step — 生产工序
  • ilm_warehouse — 仓库
  • ilm_inventory_record — 库存记录

ilm_* 表 (续)

  • ilm_product_inventory — 产品出入库
  • ilm_product_outbound — 产品出库
  • ilm_washing_plan — 水洗计划
  • ilm_washing_step — 水洗工序
  • ilm_washing_completion — 水洗完工
  • ilm_finished_product — 成品
  • ilm_finished_product_inventory — 成品出入库
  • ilm_yarn_stock — 纱线库存
  • ilm_yarn_stock_record — 纱线记录
  • ilm_accounts_payable — 应付账款
  • ilm_ap_item — 账款明细
  • ilm_payment — 收付款
  • ilm_notification — 通知
  • ilm_share_link — 分享链接
  • ilm_audit_log — 审计日志
  • ilm_product_price_history — 产品价格历史
  • ilm_production_price_history — 生产价格历史

sys_* / inv_* 表 (muyu 拥有 · 只读, 写走 gRPC)

  • sys_user — 用户
  • sys_role — 角色
  • sys_user_role — 用户角色绑定
  • sys_menu — 菜单
  • sys_role_menu — 角色菜单权限
  • sys_operation_log — 操作日志
  • sys_config — 系统配置
  • inv_product — 产品
  • inv_stock_check — 盘点
  • inv_stock_adjust — 调整
  • casbin_rule — RBAC 策略
数据流向 · 接口调用一览
JWT 认证流程
1
用户登录
Frontend → Gateway
POST /api/v1/auth/login
{username, password}
2
gRPC 验证
Auth Service → System RPC
SystemService.Login()
muyu 验证密码
3
查询公司
Auth Service → MySQL
sys_user JOIN ilm_company_member
获取 company_id, role
4
签发 Token
JWT Claims:
{uid, cid, role, master, uname}
Secret: muyu-wms-jwt-secret-key-2026
5
请求鉴权
Gateway 验证 JWT → 注入 Headers
X-User-ID X-Company-ID
X-User-Role X-Is-Master
服务间调用 · 数据流向
调用方
目标
协议
说明
React SPA
Gateway :8080
HTTP
所有 API 请求 + WebSocket 升级,Authorization: Bearer <token>
Gateway
Auth Service
HTTP
/api/v1/auth/*, /api/v1/common/* → 反向代理到 :8081
Gateway
Purchaser Svc
HTTP
/api/v1/purchaser/* → :8082 (role=purchaser)
Gateway
Textile Svc
HTTP
/api/v1/textile/* → :8083 (role=textile)
Gateway
Washing Svc
HTTP
/api/v1/washing/* → :8084 (role=washing)
Auth Service
System RPC
gRPC
Login() 密码验证, CreateUser() 注册, GetUser() 查询
Purchaser Svc
Inventory RPC
gRPC
CreateProduct(), GetProduct(), ListProduct() 产品CRUD
Textile Svc
Purchaser Svc
HTTP
内部服务调用 — 查询采购商计划、工厂信息
Washing Svc
Purchaser Svc
HTTP
内部服务调用 — 查询采购商计划、工厂信息
iloom 全部服务
MySQL
SQL
ilm_* 表直接读写;sys_user 只读查询 (JOIN)
muyu RPC 服务
MySQL
SQL
sys_*, inv_*, casbin_rule 全权读写
muyu RPC 服务
Redis / etcd
TCP
Redis: 缓存 + 会话 | etcd: 服务注册发现