- 產業
- 零售
- 年份
- 2025
- 技術
- Workers · Durable Objects · Stripe · 多幣別
3
個市場,一套系統
課題
三個市場的稅務、金流、物流規則不同,原本是三套系統、三組人維護。同一個商品改一次價要在三個後台各做一次,而且經常有一個忘了。
限制
三地的法規不會為了我們的架構而一致。日本的稅內含顯示、台灣的統一發票、新加坡的 GST 註冊門檻 —— 這些抽象不掉,只能被好好地表達。
做法
把差異寫成規則設定,而不是分支程式碼。稅、金流、物流各是一組可設定的規則,一個市場就是那些規則的一種組合。新市場上線是填一組設定。
一個關鍵決定
規則引擎刻意不做成通用的。只支援這三個市場真的用得到的那幾種規則形狀,並明確寫下不支援什麼。一個能表達任何規則的引擎,最後會變成一個沒有人讀得懂的第二語言。
取捨
這代表第四個市場如果規則形狀不同,仍然要改程式。我們評估過:那樣的市場排在他們擴張清單的第七位以後,為它現在付通用化的代價不划算。
結果
三個市場共用一套後台。第四個市場的評估時間,從六週變成兩天。
之後
2026 年初他們開了第四個市場。規則形狀確實落在支援範圍內,沒有動到任何一行程式碼 —— 那個賭注押對了。