簡介

Spryker 專門做商業相關的軟體平台,無論 B2B, B2C, marketplace 等都有涉略

PBC

Packaged business capabilities,是某些包好的軟體提供商業使用,有點像是商業版 AWS marketplace

APC

是 Spryker 設計出來讓 PBC 和客戶 (使用 PBC 的用戶) 開發出來的軟體可以有相同的介面可以溝通

架構

分為兩條線,第一條綠色的是由 PBC 的軟體去通知或是呼叫客戶的軟體,另一條藍色的就反過來,是由客戶的軟體去呼叫 PBC ,概念都差不多,為了確保訊息的順序,大部分的 component 都是 FIFO

Architecture

  • PBC -> Tenant (綠色)
    • PBC 將訊息放到自己的 SQS FIFO
    • 將訊息打到 ACP 中給 PBC 的 API gateway
    • Lambda 依照 DynamoDB 中的 Role 去設定 Rule 發送到 SNS FIFO,以確保收到的是使用該 PBC 的用戶
    • SNS 將訊息送到 Tenant 的 APP

  • Tenant -> PBC (藍色)
    • Tenat 將訊息放到自己的 SQS FIFO
    • 將訊息打到 ACP 中給 Tenat 的 API gateway
    • Lambda 將訊息發送到 SNS FIFO
    • SNS 將訊息送到 PBC 的 APP

Recap

  • 利用相同的方式讓兩邊軟體可以溝通,這樣可以降低開發成本
  • SNS rule 可以是動態的,這樣做群發時可以利用資料庫來做 Filter,就不會讓訊息被其他不相干的人也接收到