web项目技术选型

jopen 3年前

服务器:阿里云ecs+rds
centos6
nginx
java 1.7
tomcat7(支持servlet3.1)(tomcat8对jstorm支持不好)
mysql

spring
springMVC
mybatis
jquery
velocity

jackson
==========================================================
服务器
阿里云ecs
==========================================================
服务器操作系统 </div>
centos>redhat
RHEL,即Red Hat Enterprise Linux的缩写
Red Hat Enterprise Linux Advanced Server,红帽企业 Linux 高级服务器版

Debian、Ubuntu、Gentoo、Arch等都不适合做server系统
==========================================================
web服务器
web服务器的市场份额
所有网站:apache仍然最高,IIS第二,nginx第三
活跃网站:apache仍然最高,nginx第二,IIS第三


web服务器操作系统市场份额
==========================================================
服务器端语言使用率排名

整体语言排名

==========================================================
应用服务器:简单的说,能实现动态网页技术的服务器叫做应用服务器
Tomcat占有率最高>jetty(最大优点是嵌入式)
resin(据说比tomcat快) 个人免费, 商业收费
JBoss、weblogic、websphere:真正的应用服务器,jboss开源

tomcat版本比较


</div> ==========================================================
</div>
数据库使用排名


</div>

==========================================================
缓存服务器
GemFire>=redis> memcache

redisDesktopManager:redis桌面管理工具
oscache ehcache memcached redis
==========================================================
</div>
js框架
在使用js的网站中,95.4%的网站都用到了JQuery(一个网站可能使用多种js框架)
JQuery>Modernizr>Bootstrap

==========================================================
图片格式

==========================================================
java模板引擎
velocity,Thymeleaf(使用DOM解析器,不适合大的xml文件,性能较差),Tiles,freemarker(源码最乱), jsp,jstl
模板性能的那点差距,我个人认为相比后台业务的性能可以忽略不计了
关于功能,velocity的宏及布局方面还是有不足的
==========================================================
MVC:
M:myBatis>Hibernate>JDBC
V:springMVC>struts
C:spring
==========================================================
web service
几种协议的通讯效率依次为:  RMI > Httpinvoker(不能跨语言)  >= Hessian(可以跨语言,性能还不错) >>  Burlap >> web service(性能差)
RMI 和 Httpinvoker只能在java环境使用,不能跨语言;Hessian基于http协议传输,可以跨语言;web service基于soap效率最低
RMI 是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。
Httpinvoker 是SpringFramework提供的远程通讯协议, 只能用于JAVA程序间的通讯,且服务端和客户端必须使用SpringFramework。 
Hessian 和 Burlap 是caucho公司提供的开源协议,基于HTTP传输,服务端不用开防火墙端口。协议的规范公开,可以用于任意语言。 Hession采用的是二进制RPC协议,因为采用的是二进制协议,所以它很适合于发送二进制数据。
Web service 是连接异构系统或异构语言的首选协议,它使用SOAP形式通讯,可以用于任何语言,目前的许多开发工具对其的支持也很好。 
==========================================================
编译、打包
maven≈gradle>ivy+ant
==========================================================
json解析与生成
jackson≈fastjson> Gson > Json-lib

来自: http://blog.csdn.net//matthewei6/article/details/50513624