1,网站刚建立的时候,一切从简,ssh迅速构建网站,运行在apache/nginx+tomcat+mysql中。
2,随着流量的增大,网站的访问速度越来越慢,这个时候就想到了,对应用做集群,apache做集群或者或者nginx做反向代理,哇哈哈,问题解决。
3,用了集群,用户的响应速度上来了,可是session丢失的问题出现了,集群中一台机子挂了,这个机子上的session就木了,只能慢慢解决了,集群中session共享,a,借助cookie b,session信息入库 c,借助apache实现session广播 d,借助分布式缓存来实现。再三考虑 决定使用d方案。
4,session问题解决了,调度问题出现了,同一个任务,集群中所有节点都在执行,不仅会造成脏数据,而且还影响性能。解决方案a,集群中只有一个节点执行调度任务 b,分布式锁 考虑了下决定采用b方案
5,现在一切都稳定下来了,可是随着业务量的增大,数据库io也不断增长,数据库终于顶不了。那就来最简单的解决办法,对热点数据加cache。数据库的io下来了。但这个定时炸弹真的让人担心。。
6,定时炸弹突然触发了,系统宕机,唉。看来只能对数据库做分库,分表了。。以及非结构化存储了。。
7,分库分表后,就出现了分布式事务问题以及分表的字段问题,必须保证分表后数据的均匀。
8,这下数据库的问题解决了 万事大吉,慢着。数据库还单着呢。。。数据库挂 不就惨了啊。。。
   怎么办呢。。 数据库 master-slaver。哇哈哈这下ok了
9,随着业务的复杂 系统越来越臃肿,肿么办。。。 模块化,服务化,接口化,平台化 哈哈四个现代化。。
10,服务化后就要解决 通信协议  http+xml/json  soap  rmi  ejb jms
11,系统持续优化中。。。。