- 前端支持PC、Mobile、H5三个平台
- nginx做负载均衡,主备机,keepalived,检测脚本,master和slave切换时完成相关工作;
- web做集群,web仅仅是web,与后端服务模块采用RMI通信(可选dubbo/tuscany+scallop,我采用了dubbo)
-
后端服务模块一律改造,模块分布式集群部署,如s-core、s-mdp、s-joke等
- 数据库做分库分表,读写分离,master-slave-*-slave(由于缓存的大量使用,我没有去分表,对大表做了表分区,解决IO问题,但没有解决锁并发问题,有必要可以分表,建议通过分库的形式来分表)
- 缓存,本地缓存ehcache,分布式缓存mem/redis,准备用ElasticSearch代替redis;
- 分布式存储mfs,一些公用文件部署在这里,比如spider采集的数据;
- zookeeper,做了dubbo的注册中心,也利用zookeeper实现了master的选举;以及分布式job;