Backend as a Service
BaaS
Backend
Cloud
Desenvolvimento

后端即服务 - 初学者的良好实践

您学习了 HTML、CSS 和 JavaScript(或 React Native/Flutter)。您制作了应用程序的前端,它看起来很漂亮。现在您需要保存用户数据。

后端即服务 - 初学者的良好实践

您学习了 HTML、CSS 和 JavaScript(或 React Native/Flutter)。您制作了应用程序的前端,它看起来很漂亮。现在您需要保存用户数据。你发现你需要学习:Linux、[Docker4、SQL、Node.js、Express、JWT、Nginx、SSL...

令人沮丧,对吧?这就是后端即服务 (BaaS) 为您节省的地方。 FirebaseSupabaseAppwrite 等平台为您提供了所有现成的功能。你专注于应用程序,他们专注于服务器。

但要小心:“容易”并不意味着“无论如何”。如果使用不当,您的应用程序将会运行缓慢、不安全且昂贵。以下是帮助您正确起步的最佳实践。

1. 客户端安全

在传统模型中,服务器隐藏了[数据库5。在 BaaS 中,您的应用程序“直接”与银行对话。 如果您不配置规则,任何人都可以删除所有内容。

  • 黄金法则:永远不要相信前端。
  • 实践:配置“安全规则”(Firebase) 或“行级安全”(Supabase)。
    • 错误:0(门打开)。
    • :1(仅所有者编辑)。

2. 不要搜索太多数据(查询)

NoSQL 数据库(如 Firestore)按读取收费。如果用户每次打开应用程序时下载 1,000 个文档,一天之内就会超出免费配额。

  • 使用分页:下载 10 项。当用户滚动时,再下载 10 个。
  • 在服务器上过滤:不要下载所有内容并在 JavaScript 中使用 2´ 进行过滤。使用组过滤器 (3)。

3. 数据结构(数据建模)

在 SQL 中,您可以避免重复数据(标准化)。 在 NoSQL (Firestore) 中,您必须复制数据(非规范化)。

  • 如果您有帖子并想要显示作者姓名,请将作者姓名保存在帖子文档内部
  • 为什么?:为了避免必须阅读两个文档(帖子+用户)来创建屏幕。读书就是钱。

4. 索引

如果您的应用程序在搜索时开始变慢,您可能忘记创建索引。

  • 索引就像一本书的索引。它告诉银行信息在哪里,而无需读取整个银行。
  • 当索引丢失时,Firebase/Supabase 控制台通常会向您发出警告。单击他们建议的链接。

结论

BaaS 对于初学者来说是一个超能力。您可以在几周内自己建立一个“Uber”或“Ins​​tagram”。但请记住:轻松是有代价的。研究您选择的平台的安全规则和数据建模。这将为您在未来节省大量金钱并减少麻烦。

另请阅读

  • [后端即服务 - 公司的良好实践6
  • [后端即服务7
  • [应用后端:小团队不能犯错误的良好实践88
  • [可扩展的软件架构 - 扩展的最佳实践9
  • [可扩展的软件架构-初创公司的最佳实践10
  • [可扩展的软件架构-小型团队的最佳实践11