JavaEE 技术选型建议,服务器配置,部署策略
2014-07-19 23:20
405 查看
基础设施环境
# 整体采用 centos6.5 + nginx + tomcat7.0 负载均衡:nginx 配置,使用 nginx 作为负载均衡,权重配置, 在web层做到水平扩展、 以及配置日志格式,支持db、cache调用次数,响应时间,做全站的监控、 支持对应参数的配置,方便日后做大数据营销的规划,对应的hive表,做分析使用 web层:采用一主一备。 建议内存16G,cpu 8 core,硬盘其它特殊要求,优化tomcat的jvm参数项。 db层 :数据部署建议采用一主一备,建议内存16G,cpu 8 core,硬盘建议使用固态硬盘,到时系统层配 置做适当的优化,具体部署详见 开发技术建议-数据库
应用开发环境
项目管理工具: maven, git
应用开发技术建议
应用层开发技术
①编程语言:java 1.7 在淘宝,蘑菇街都经历过一次变革,就是从php往java上架构调整的过程,工作量庞大; 成 本相当高,到时不但要考虑业务的稳定性,同时要考虑到不同语言的分布式调用,业务服务化 等等各种因素。 在用户服务化项目中,对应的业务接口,在相同配置的机器(64G内存,16corecpu+数据 库一主一备)场景下,qps php和java相差6倍; 分析主要消耗在php框架层,以及php 运行机制上实时解析脚本;java主要考虑在开发成本上,这个可以使用对应的技术来解决。 ②使用框架:springmvc + mybatis + druid + fastjson + google-guava 采用springmvc+mybatis 进行进行业务开发,可以考虑使用我开源项目@刑天盾 进行相关 操作db,业务,controller代码的生成,节省开发成本 ③项目结构采用maven模块化管理,前期按照数据库,业务划分,再往后划分交易、用户、搜索、 消息中心等,模块化,减少功能之间的强耦合性。 ④手机端接口规范化,按照模块+版本统一的route控制,例如: user/v1,客户端版本对应的后 端接口需要根据版本控制,新版本对应新的controller,在客户端统一route,接口传递使用 json对象包装。 其它后台:Bootstrap 等
数据库
数据库采用 MySQL5.5 淘宝的70%的业务目前使用MySQL,蘑菇街97%使用MySQL,是一个相当稳定的DB产品,不管现在 的支持,还是以后做相关优化,垂直业务,水平切割 ; 有问题都可以很快找到对应的解决方案。 ①数据库部署采用一主一备,配置数据库 master,slave 节点主从复制,切勿使用MySQL自身的 方案(有一定的延迟,在高并发情况下)。 ②MySQL层的优化,数据类型优化,索引优化,查询优化等 ③程序层需要支持多个数据源额访问,写的操作全部针对主库master,查询操作作用在slave上。
后期Plan
以上架构以满足迁移的系统架构方案,在后期,随着业务、并发、用户、存储等 增长、进行相关的架 构变迁; 整体的目标是技术为伴随业务,成本,等其它因素做对应的技术优化,方案改造;循序渐进。 ① 图片独立出去,做对应的图片压缩,单独的cdn服务器,考虑到系统的响应,以及客户端3G环境下 用户的流量体验,采用webp方案进行压缩优化。 ② 使用缓存,集中式缓存+本地缓存localcache: 本地缓存主要中使用 google-guava ,对相关配置项等进行缓存,减少对db的tps 集中式缓存考虑使用redis2.6版本,对系统的数据进行缓存,例如 dua用户,等等核心业务的 数据,缓存部署方案一主一备多实例,程序层要考虑兼容,处理容灾切换等。 ③ 使用solr查询,改造查询方案,商品,文章等其他信息 ④ 伴随业务成长db层会有一主多备,业务拆分就是所谓的服务化,以及在往后的水平切分,因为服务 器到dbserver的连接数是一定的。 以及cache层的优化,sharding ,需保证db,cache 容灾 处理,reboot ,shutdown 保证业务正常 datasource 及时refush ⑤ 离线统计,数据化运营 => hadoop 集群计算
相关文章推荐
- JavaEE 技术选型建议,server配置,部署策略
- 如何使用部署实用工具和配置来简化在服务器之间移动软件包的工作
- Windows 服务器上的 Rails 配置策略
- Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇
- Web 2.0 用户界面技术 让服务器部署的应用程序具有优于浏览器的用户体验
- windows2003服务器安全配置的建议
- 袁红岗技术视点:应用服务器的集群策略及Java EE 5.0
- 浅谈优化SQLServer数据库服务器内存配置的策略
- Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇
- Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇
- 浅谈优化服务器内存配置的策略
- 大型网站WEB服务器技术选型参考
- JSP/SERVLET开发应用服务器软件BEA WebLogic的配置和部署
- 单服务器配置部署Visual Studio 2005 Team Foundation Server步骤
- Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇
- WSUS服务器的详细配置和部署-转载
- 单服务器配置部署Visual Studio 2005 Team Foundation Server步骤
- Yale cas服务器端/客户端环境配置以及其在tomcat服务器下SSL安全协议得部署之完全实现篇
- WSUS服务器的详细配置和部署
- 技术Spring的事务策略配置。