最近要部署一些java服务,考虑了一下使用resin做app server,我熟悉的app server 就如下3种

  • resin
  • tomcat
  • jetty

jetty用作内嵌入app server很方便,想要独立运行,配置太复杂了

对于tomcat和resin我以前一直有误解,总觉得resin是开源软件:轻盈,tomcat是某厂出品:繁杂。事实是相反的,tomcat才是正宗开源软件 http://tomcat.apache.org/,也不大,最新版本才8M

Resin是CAUCHO公司的产品,pro版收费。过去几年在倒是一直用它,每天几百万PV,中规中矩。这次要部署一个服务,才把官方手册看了一遍

6800端口之谜

用resin.sh启动resin之后,会占有3个端口

  • watch dog 用的6600
  • http *:8080
  • cluster 127.0.0.1:6800

很多文章说6800是监控端口,因为它叫坑爹的 server.port。resin的手册说不是这样,6800是resin当初的主要工作端口,使用humx协议,方便搭配apache的 mod_caucho使用。

而http的8080端口,才是给程序员用的监控/调试 服务器的端口,类似路由器的console。 但是由于ningx的流行,http倒成了主流,不过nginx现在也也有了humx模块 ,可以继续用6800

https://github.com/wangbin579/nginx-hmux-module

resin.xml和resin.properties

  • resin 4之后把配置文件分成resin.xml和resin.properties两部分.端口/IP修改都在resin.properties文件里面
  • 在resin.xml里面,CAUCHO意淫了这样一个场景:在resin 实例里面

    网站分成: cluster -> server -> host -> web-app 4个层级

尼玛,我只是想找一个java container 来跑一个http服务,你胡扯一堆干什么

resin的绝大多数应用场景是 运行一个或者多个 war 包,有个屁的cluster/server/host 概念

谁会拿单机做cluster?

看到这定义,我第一感觉是 Caucho是想做去虚拟机生意,可做虚拟机生意的人也不会用resin

resin.xml 还默认定义了 4个cluster,分别叫做 app,web,memcached,proxycache 看这名字就知道这群程序员都是意淫狂

与其对应的是 resin.properties里面出现了这些定义

home_cluster : app
app.http
web.http
app_servers
home_server : app-0

你要不仔细看resin.xml,绝对搞不懂上面是啥意思

更可笑的是 caocho.com的文档首页,悍然标粗 "Resin 4.0.29 Outperforms NginX™ 1.2.0" 这篇软文

我现在随便一台服务器就是 48核 cpu,64G内存,2300G ssd,你还给我看这个。

本文地址: http://lutaf.com/180.htm 鲁塔弗原创文章,欢迎转载,请附带原文链接