php - 分离的数据服务器、内容服务器、客户端服务器和后端服务器

标签 php mysql json real-time

关闭。这个问题需要更多 focused .它目前不接受答案。












想改进这个问题?更新问题,使其仅关注一个问题 editing this post .

8年前关闭。




Improve this question




过去几年我公司的做法是在客户的服务器/主机上安装我们自己的 cms 并开发前端。但现在是时候改变我们的工作方式了。
现在我是这样想的。
内容服务器很少,客户端(前端)一台服务器,后端服务器一台,数据库/数据服务器一台。

后端应用和服务器

每个客户都可以访问一个后端应用程序。只有一个后端,它将数据存储在数据服务器上。后端/前端将请求数据,数据服务器从 mysql 数据库准备 json 数据,然后将其发送回客户端。
内容将临时上传到后端服务器,然后内容服务器将临时内容复制到多个内容服务器。

前端

前端服务器上不会有数据库/数据。前端网站、应用程序、移动应用程序将通过 json 从数据服务器/api 获取所有数据,或者来自内容服务器的内容。所以前端服务器上只会有前端脚本。

内容服务器

它不像 CDN,所有内容服务器都放在一个地方。连接和同步。

数据服务器

将所有数据存储在 mysql 数据库中。将有从 mysql 数据库准备 json 数据的 api。

现在的问题是:

  • 这种结构是愚蠢的还是管理数百个网站和应用程序的正确方式?
  • api 从 mysql 数据库准备 json 数据并将其发送回请求的应用程序很慢?还是正常的?
  • 分离的内容服务器(不是 CDN,但它会创建内容缓存)比在一个请求中从一台服务器加载内容和脚本更好更快。
  • 客户端访问前端服务器 -> 前端服务器请求数据服务器 -> 数据服务器将从 mysql db 准备 json 数据 -> 将其发送回前端 -> 浏览器从内容服务器获取内容 -> 渲染网站,应用程序。这种方式比一台服务器中的所有方式更慢还是更快?
  • 我们的后端必须非常快且非常酷。任务是带有历史记录的实时应用程序,没有哈希标签的 url,当 url 更改时,浏览器不会刷新并且不会损害后端应用程序媒体播放器(许多小工具)、实时通知和消息。我们应该为这个应用程序使用什么技术?请根据您的经验回答。
  • 最佳答案

    我正在构建与此堆栈类似的东西

    后端服务器 - mongo、mariadb、nodejs
    前端服务器 - nginx,代理请求到后端

    我认为你是在正确的方式。

    因此,我们可以使用 redis 作为统一 session 存储和状态保存中间件的少量后端 nodejs 进程(在少数 vps 上),并且所有前端 - css、javascript、图像、html 都由多个 nginx 服务器提供服务。

    前面有一台 nginx 服务器作为负载均衡器,我们也使用 nginx 作为负载均衡器,因为 Pound 负载均衡器 (http://www.apsis.ch/pound) 与 websockets 有问题,但速度稍快

    关于php - 分离的数据服务器、内容服务器、客户端服务器和后端服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21604951/

    相关文章:

    php - UTF8 到 CP1255 转换

    phpmyadmin : Depends: php-twig (>= 2. 9) 但要安装 2.6.2-2。什么?

    php - Laravel 5 中的 Controller 命名约定

    mysql - 电影数据库的 SQL 查询

    Php、MySql连接两张表并限制嵌套记录

    json - 为 JSON 集类型定义 `Reads`

    javascript - 如何在 JavaScript 中缩放多个图像?

    json - Lucene多重删除查询(JSON)

    php - 二维数组上的json_encode

    MySQL 自然排序(如 OSX Finder)