## 如何设计
>问:假设有一个包含Tag功能的博客系统,数据库存储采用mysql,用户数量为1000万,预计文章总数为10亿,每天有至少10万的更新量,每天访问量为5000万,对数据库的读写操作的比例超过10:1。你如何设计该系统,以确保其系统高效,稳定的运行?(提示:可以从数据库设计,系统框架,及网络架构方面进行描述,可以写代码/伪代码辅助说明)
>答:读写分离,读写服务器比例10:1,
使用分页查询减少数据库压力,静态化分页后使用memcache分布式缓存,减少i/o开销和数据压力,
增删改时删除对应的静态化数据,通过查询分页,分开静态化对应的分页信息缓存,
数据库分库分表分区,使用lvs负载均衡,活跃和不活跃的文章进行分表存储,
提高数据库中文章查询效率,建立联合索引,提高查询效率,使用中文分词技术提高文章内容的查询效率!
## 如何搭载一个日PV300W的中型网站
场景介绍:假设给您5太服务器,请大致描述一下,如何使用您所熟悉的开源软件, 如何搭载一个日PV300W的中型网站!
我们应该这么操作:
1、5台服务器,应该3台应该设置为web服务器;2台设置为 mysql数据库服务器!
2、3台Web服务器可以结合Memcache缓存来减少负载!
3、2台mysql服务器采用Master/Slave同步的方式减轻数据库负载!
4、3台Web服务器内容一致,采用DNS进行负载均衡!
- PHP获取客户端浏览器信息和版本
- PHP获取客户端操作系统信息
- 无限级分类
- git使用
- 权限检测思路
- Vue学习
- 遇到的一些问题
- PHP的编码思维和技巧
- mysql复习
- tp5
- ThinkPHP5.x 公共函数
- TP5登录注册
- TP5使用模板继承
- ThinkPHP5.1 清除缓存
- thinkphp5实现安装程序
- 安全
- tp中实现跨域代码
- ThinkPHP5.1配合pjax实现菜单栏无刷新跳转
- 获取数据库版本和数据库大小
- 模型的基本CURD操作
- 商品spu
- 全局异常处理类
- ExceptionHandler
- BaseException
- PHP函数之error_reporting(E_ALL ^ E_NOTICE)详细说明
- 微信小程序
- wx:for
- tp6
- 分离的一些模块
- session开启
- Spring
- 依赖注入
- 数据结构
- 二叉树
- js获取地址栏变量
- PHP设计模式
- 面向对象
- PHP1
- PHP性能优化
- Java学习
- static关键字
- 多态
- 接口、阶乘
- 大佬给的面试题
- 访问量为5000万的博客系统设计
- PHP可变参数
- Nginx的配置案例
- 求数组中的最大值,并返回数组索引
- PHP面试方向
- PHP数组工具类ArrUtil
- 字符串工具类StrUtil
- PHP使用curl发送请求
- mysql
- PHP上传base64图片处理函数
- webstorm小程序常用配置
- 邮箱正则表达式
- leetcode mysql记录
- 函数库