适用于小型Web应用程序的体系结构

时间:2016-06-07 09:19:11

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

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

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

查询:

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

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

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

    谢谢!

1 个答案:

答案 0 :(得分:0)

  1. 你可能最好使用数据库,你可能只需要阅读一些带有用户数据的文本文件就可以了,但是设置像SQLite这样的简约数据库非常容易。

  2. 你可能只想使用AWS或Googles的东西,你的应用程序是非常小的规模,所以你很容易逃脱他们的“微”大小节点。我认为这两种服务都提供某种免费套餐。

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

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