猜想 workflow 已经超负荷工作了,数据库占了大量 CPU 资源, 系统没有扩展性!猜想 workflow 以服务的方式加入了互联网,用户超过 1 个亿。
从下面两方面改进系统。
1. 数据库层的架构改进:
l 第一个观念就是数据的读写分开,比如用完全一样的数据库,一个主数据库用来写,其他从数据库用来完成读操作,隔段时间将写数据库同步更新到从数据库中。
l 用户表是个大表,超过一个亿的资料,检索更新速度很慢。于是把用户表单独放在一个数据库服务器中,并且按照用户的所在省份水平分割成多个表,每个表就有 300 多万的数据,查询可控制在 1 秒之内。
l 表单流量很大,每月上千万笔。同样,表单表按照功能分割到多个数据库服务器中,每个数据库中再按照表单类别水平分割。这样在增加表单时,可达到服务器的线性扩展。
l Oracle 在分布式方面做得很好,可以充分利用这个优势。
2. 应用层的架构改进:
l 尽量做到动态网页静态化,比如在流程中跑的一个固化的表单不应该动态生成,而应该在提交表单时就做静态化。
l 使用缓存。有些网页,像首页,可以学习百度首页,缓存24小时。
l 做镜像服务器
l 使用负载均衡技术,比如 DNS负载均衡,四层交换机负载技术等等很多现成的方案可遵循。
l 对系统局部模块优化。不要自己设计模式,现有的模式很多,可以参考。
阅读(869) | 评论(0) | 转发(0) |