# 目錄總覽
```
|--- Producer.php
|--- Consumer.php
|--- Queue.php
|--- Driver
|---|--- QueueI.php
|---|--- MysqlDriver.php
|---|--- RedisDriver.php
|---|--- Job.php
|--- queue.sql
```
# 文件作用介紹
- Producer.php
生產者,用于生成消息
- Consumer.php
消費者,用于消費消息
- Queue.php
隊列操作類,為生產者和消費者提供一組統一的消息隊列操作接口
- Driver/QueueI.php
隊列操作接口,規范為Queue.php提供具體服務的驅動類,所有驅動類必須實現此接口,以確保有能力為Queue.php提供底層服務
- Driver/MysqlDriver.php
Mysql隊列操作驅動,負責與Mysql的底層操作
- Driver/RedisDriver.php
Redis隊列操作驅動,負責與Redis的底層操作
- Driver/Job.php
統一的消息結構(數據格式),可以參考下面《數據格式》的介紹理解此文件的作用
- queue.sql
這是一個 sql 文件,里面是 mysql 消息隊列表的表結構
# 數據格式
接著,我們需要統一「消息」的格式。
我們知道,生產者和消費者,同時依賴于消息隊列,它們對消息進行處理的時候,則依賴于消息格式。
**統一的消息格式,就像是面向對象中的接口,使調用方和實現方,都在規范軌跡之內工作。**
所以,我們添加了一個文件:
- Job.php
# 調用流程
