文章目录
- Saleor:23K Star 的开源电商平台,GraphQL 原生设计
- 1、 这玩意儿是干嘛的
- 2、 为什么要用 API-only 架构
- 3、 都有哪些功能
- 4、 怎么跑起来
- 5、 适合什么场景
Saleor:23K Star 的开源电商平台,GraphQL 原生设计
saleor 在 GitHub 上已经拿到 23,010 Star 了。
这个项目专门干一件事——提供一个纯 API 驱动的电商后端。不用模板引擎,不绑定前端框架,所有交互都通过 GraphQL 完成。
1、 这玩意儿是干嘛的
一句话:给开发者一个不挑技术栈的电商后端。
传统的电商平台像 Magento、WooCommerce,绑定了特定语言和框架。你用 Python 写后端,前端就得跟着用 PHP 模板。Saleor 不一样,它只提供 GraphQL API,前端用 React、Vue、Flutter、小程序,随便选。
多渠道管理是原生支持的。同一个后台可以管多个国家的站点,每个渠道独立配置价格、货币、库存、商品。不用写额外代码去区分。
2、 为什么要用 API-only 架构
传统插件系统有个问题:插件和核心代码跑在同一个进程里。一个插件出 bug,整个系统可能挂掉。升级核心版本,插件可能不兼容。
Saleor 的做法是把扩展逻辑拆出去。通过 Webhook、App、订阅查询这些机制,扩展代码独立部署,独立运行。核心挂了不影响扩展,扩展挂了不影响核心。
好处很直接:
- 部署独立,扩展更新不用重启主服务
- 技术栈不限,扩展用什么语言写都行
- 调试简单,问题定位到具体服务就行
- 可以单独给扩展加资源,不用整体扩容
3、 都有哪些功能
企业级该有的它都有:
- 多币种、多语言、多仓库
- 订单拆分支付、退货退款
- 优惠券、促销规则、礼品卡
- 支付网关编排,支持多种支付方式
- 商品管理,支持复杂目录结构
- SEO 友好,无头架构下完全自由控制
Dashboard 是独立项目,用 iframe 方式嵌入自定义应用。你可以用任何 Web 技术栈给 Dashboard 加功能。
4、 怎么跑起来
最快的方式是用 Docker Compose。官方文档有详细步骤,照着走就行。
如果想快速体验,可以注册 Saleor Cloud 的开发者账号,不用自己部署:
npmi-g@saleor/cli saleor register创建一个测试店铺:
saleor storefront create--url{your-saleor-graphql-endpoint}官方提供了 Next.js 写的 Storefront 示例项目,TypeScript + GraphQL + Tailwind CSS,可以直接拿来改。
5、 适合什么场景
- 需要多端适配的电商项目(Web、App、小程序共用一个后端)
- 跨国业务,多币种多语言是硬需求
- 团队里有多个开发者,需要并行开发不同模块
- 对系统可用性要求高,不能接受单点故障
如果你只是给小店铺做个简单商城,传统方案可能更快。但一旦业务复杂度上来,API-only 架构的优势就显现了。
要求高,不能接受单点故障
如果你只是给小店铺做个简单商城,传统方案可能更快。但一旦业务复杂度上来,API-only 架构的优势就显现了。