【问题标题】:Suitable architecture for a small-scale web app适用于小型 Web 应用程序的架构
【发布时间】:2016-10-07 02:44:35
【问题描述】:

我需要构建一个通常具有以下规范的 Web 应用程序:

  • 同时有几十个用户的预期最大负载
  • 一个简单的身份验证令牌系统,在整个生命周期内拥有大约几百个唯一用户,具有专有性质
  • 所有用户通用的静态数据源,具有以下特点:
    1. 几个包含数千个自定义类型元素的数组(大约有 4-5 个属性)
    2. 几个大小为千的方阵(64 位浮点数)
  • 每个用户都可能要求对公共数据进行小规模计算,这些数据必须显示在他们的浏览器上。

查询:

  1. 考虑到大小,我应该使用数据库来存储静态数据,还是通过从文件中初始读取来依赖内存中的数组?
  2. 我需要一个可以从流行的注册商网站购买的自定义域。我应该将网络应用托管在 Google App Engine 等云服务上,还是我所在位置的私人服务器就足够了?
  3. 网站的应用程序代码和数据的安全性非常重要(即使是用户!)。此外,我需要一个简单的登录/身份验证系统。我应该如何管理注册用户的档案?
  4. 对于用户请求的计算,我打算使用 JSON 通过 POST 请求在服务器之间传输数据。这是正确的方法吗?

背景:

Web 应用程序正在使用 Go (Golang) 作为后端和 JavaScript/CSS/HTML 作为前端构建。

我是一位精通应用程序开发人员(主要使用 C# 和 MATLAB),但这是对网络应用程序的相对“年轻”的尝试。在这一点上,我主要关心的是正确的架构。因此,如果我有任何根本性的错误,请指导我找到合适的资源。

谢谢!

【问题讨论】:

    标签: web-applications go architecture web-deployment paas


    【解决方案1】:
    1. 您可能最好使用数据库,您可能只需读取一些包含用户数据的文本文件就可以逃脱,但设置一些像 SQLite 这样的简约数据库非常容易。

    2. 您可能只想使用 AWS 或 Google 的东西,您的应用程序规模非常小,因此您可以轻松摆脱它们的“微型”大小节点。而且我认为这两种服务都提供某种免费等级。

    3. 正确,您需要使用包含身份验证支持的中间件,例如 gin-gonic。如果您要实施身份验证系统,您可能还需要熟悉password hashing

    4. 是的,通常大多数 Web 请求都是使用 JSON 完成的,有时也会使用 XML。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-01-19
      • 2011-09-10
      • 2011-12-19
      • 2015-03-13
      • 2015-07-12
      • 2010-12-23
      • 1970-01-01
      相关资源
      最近更新 更多