web项目技术选型

来源:互联网 发布:python 字符串求和 编辑:程序博客网 时间:2024/05/18 02:09
服务器:阿里云ecs+rds
centos6
nginx
java 1.7
tomcat7(支持servlet3.1)(tomcat8对jstorm支持不好)
mysql

spring
springMVC
mybatis
jquery
velocity

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

http://www.zhihu.com/topic/19598070/top-answers
Debian、Ubuntu、Gentoo、Arch等都不适合做server系统
==========================================================
web服务器
web服务器的市场份额
http://news.netcraft.com/archives/2015/07/22/july-2015-web-server-survey.html
所有网站:apache仍然最高,IIS第二,nginx第三
活跃网站:apache仍然最高,nginx第二,IIS第三


web服务器操作系统市场份额
http://www.w3cook.com/os/summary/
http://w3techs.com/technologies/overview/web_server/all
==========================================================
服务器端语言使用率排名
http://w3techs.com/technologies/overview/programming_language/all

整体语言排名
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

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

tomcat版本比较


==========================================================
http://db-engines.com/en/ranking
数据库使用排名



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

redisDesktopManager:redis桌面管理工具
oscache ehcache memcached redis
==========================================================
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

3 0
原创粉丝点击