关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

日访问量 10 万的服务器结构应该怎么部署?

发布时间:2019-07-11 16:56:27

本文由05web小编整理自v2ex


问题:

以下是我设想中的方案,求改善建议。

1. 保留现在的服务器位置

目前采用的是 West Oregon ,美国西部覆盖美国本土和中国,距离还是比较适中的。


2. API 服务器 - AWS M3.Medium x 1

用于数据读取操作和存储操作


3. 计算服务器 - AWS M1.Small x 1

用于每日的利率计算


4. Web 服务器 - AWS M1.Small x 1, AWS M1.Micro x 1

一台用于用户浏览量与操作,一台用于管理审核操作


5. 数据库服务器 - RD t2.medium

[!] 高风险: 目前数据库与应用使用同一台机子,非常容易出问题,应用服务器必须和数据库服务器分离。


6. 文件服务器 - S3

由于需要不少的图片存储, AWS S3 是比较好的选择方案。


主要说需要处理计算,不仅仅只是访问量,还要涉及利率换算啥的(是一家信贷公司)



cevincheung 回答:
其实说来说去无非还是那几招。

CDN -> DNS Roll-Poling -> Nginx Proxy -> File & Dynamic Application -> Middleware -> Cache & Queue -> DB

至于几台服务器什么配置那要具体项目具体分析了吧。反正一切以横向扩展看齐。


cgzelvis 回答:
10w 不算高啊, 前后端分离,图片用七牛之类的 cdn 就好



notgod 回答
这个看站点类型 如果密集型的 有必要考虑扩容问题

如果非密集计算型的这个级别 10 万 IP 100 万 PV
你那个架构搞复杂了


我日访问 25 万-30 万 IP 1000 万 PV 左右
Linode 3 个 VPS 解决问题

2 个 2G 内存 DB Master+Master 架构
1 个 4G 跑网站 nginx php-fpm
3 个 2G 反向代理
达拉斯覆盖美国全境
日本覆盖亚太区域 (因为中国流量基本没有 所以无所谓访问速度问题)
德国覆盖欧洲全境
3 个 2G 的反向代理 同时干了兼职 有 Redis 缓存集群 + Memcaced 集群
万事大吉 毫无压力

2x$10 + $20 + 3x$10 = $70/month 成本



notgod 回答
我这个类似于负载均衡的方案

架构这样
DNS 使用 Rage4 或 AWS 的 GEO 进行区域解析, 我现在主力是 AWS 了 网络很好

主数据网站 使用 backed.test.com
1.1.1.1 北美
反向代理站 www.test.com 2.2.2.2 欧洲
3.3.3.3 亚太

其实提高架构的性能
大部分问题瓶颈都在 mysql 上 这个需要极度优化好

遵循的原则
=================================================
1. 查询 能合并就合并, 去降低 sql 连接数的
2. 查询 能缓存的就缓存, 去降低 sql 请求,提高处理速度和命中率
3. 压缩 能压缩的都压缩, 用 CPU 性能去降低传输速度
4. 合并 能合并的资源 都合并 能降低 http 连接数 使用 nginx + ngx_pagespeed
5. 能禁止的都禁止, maja 那类的什么 SEO 用途和各种爬虫 一天能爬你几百 G 数据



/template/Home/Zkeys/PC/Static