// 作品 / 詳情
FeedaaS
Multi-tenant activity feed infrastructure。獨立的社群牆底層服務。
SCREENSHOT_001.png
一句話
Business-logic agnostic 的社群動態牆基礎設施。只認 post、follow graph、timeline、engagement,不認業務語意。
為什麼做這個
跟 ChataaS 同樣的邏輯 — 多個產品需要社群動態功能,但業務語意完全不同。一個產品的 post 是比賽結果,另一個是活動公告,但底層的發布、分發、排序、互動聚合是同一件事。
跟 ChataaS 完全獨立。Chat 是對話系統(room membership、雙向互動、即時傳遞),Feed 是發布系統(post visibility、fan-out、timeline 組裝、engagement 聚合)。工程上長得像不代表應該是同一個 service boundary — 商業語意不同就不該耦合。
設計原則
- FeedaaS 只認 post / follow graph / timeline / engagement,不認業務語意
verb是有限集合(posted、matched、announced、shared),object_ref和metadata是 opaque 的,主系統自己決定怎麼 render- 不依賴其他 infra service — 即使工程模式相似
核心原語
| 原語 | 職責 |
|---|---|
| Post | 發布單位,帶 verb + opaque metadata + visibility |
| FollowEdge | 誰訂閱誰,驅動 feed 可見性 |
| TimelineEntry | 物化投影,每個 viewer 的個人化 timeline |
| Engagement | 獨立互動資源(like、repost) |
資料流
Post 寫入是同步的,timeline materialization 是非同步的(Oban fan-out worker)。Home timeline 讀 TimelineEntry,profile timeline 直接讀 Post by actor_id。
v0 排序是嚴格逆時序,沒有推薦引擎。
狀態
Skeleton 階段。RFC 已定義 service boundary,Ash resource 已建立,等待第一個消費端驗證。