PHP-业务是写入和读取都是密集型,如何设计架构合适。
web系统由于业务的需要写入和读取都是密集型,会频繁的更改数据库,如果设置缓存,需要频繁更新,如果想要支持高并发访问,如何设计架构比较合适?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
web系统由于业务的需要写入和读取都是密集型,会频繁的更改数据库,如果设置缓存,需要频繁更新,如果想要支持高并发访问,如何设计架构比较合适?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
根据你说的,大致判断的情况.就是做一个主从数据库,做读写分离使用.
至于集群的话,我不知道你的压力有多大呢?你实测过没有?
还要看你的主外键的问题,是否会有全文索引这些东西呢?
不过我在sql server 2008上一个单实例负载400~600每秒的并发请求,似乎没有任何压力啊!我们的服务器16核cpu,32g内存.
下周准备做一套主从数据库,到时候我做一个测试结果再说.购买的配置是2台1U16核,32G内存,raid5.期望能支撑起每秒1000的并发访问.
具体这方面别人难以直接回答你,因为数据库的问题,需要从业务到设计,到硬件全盘考虑.
如果你使用的是mysql数据库,就用Innodb引擎,你可以使用redis做缓存服务器,高并发那边主要还是看你的数据库的设计,这方面你可以找专业人士咨询咨询。如果你的并发量很大,可以配置sharding,
读写平凡就更需要缓存了,你有没有听说过把整个库都给缓存起来的?
读写分离是必须的。
首先采用数据库的读写分离吧,数据表的存储引擎应该没啥要求吧,楼上说用InnoDB,是考虑事务处理么?缓存肯定是要做的,memcached或者redis都可以用,如果数据结构简单,可以考虑直接用redis保存数据。还有如果操作表比较集中,也可以考虑使用Memory的引擎,这都是基于mysql的数据库