用GNU Tools的Windows Port,也是一样.
因为,kill process的工作都是要local implementation的.
Java里面也没有跨平台的pskill吧?

去http://www.wininternals.com/ 看看有pstools/pskill工具.

不喜欢本地的pskill,就用cygnus win,完全一样了.

还是用resin做cluster简单,可惜不是免费的。
不知道Jetty该怎么配?有for Jetty的JavaGroup包吗?

天下没有免费的午餐,呵呵.也许价值就在于难度之中吧.

不过还是那句话,会者不难也!

> 谢谢 Liloboy, 但是,如果要跨平台呢?

a1monitor等类似工具就可以很好的监视服务状态了,失败了发mail或者发送windows命令都可以,大可以通过windows命令然后转到你的unix系统

只是session复制失败了,就好像没什么现成的了

自己写个代码来测试吧~~,然后输出到jsp,然后a1monitor去monitor这个jsp中的特征代码就可以了

不过都好像很麻烦,你是应用真的要那么高可用性还是自己研究啊?要知道,我现在以deploy麻烦为理由,连wls cluster都不做,hoho~~~

如果你自己研究就自己写一个HA吧,最好直接解决mysql和tomcat之间都可以双机热备的问题,那就真的是全free的cluster了

哈哈,记得免费提供给我哦,卖别人钱我不管,hoho~~~

TO: crogers

首先当然是工作需要,然后就是自己喜欢弄明白所以然~~~
其实我这里只有 1000 人,中午上 tomcat 去看,一般都有将近 200 个 session 是活动的。也不算很大的负荷。之所以想做 cluster,主要还是为了 debug 一些奇怪的现象,现在公司的应用在白天是不能停的,而我又不想加班,所以,只好做这个东东,在需要的时候可以很方便的在白天 shutdown 一个server 来做一些调试.

我对 Mysql 没什么兴趣~~ 所以不会去管它的啦~~ 不过如果研究到后面需要对数据库做 HA,那我可能会去试试 MySQL

公司里搞实时系统的在 Solaris 下做了个类似心跳的东东,现在 WEB 组利用这个东东在两个 server 之间做相互侦测,只要一个server 死掉了,另一个就主动起来,接管服务。另外 WEB 那边利用 JMX 和 SNMP 做了一个东东,可以通知管理员某个 server down 了,然后,管理员去重新 start 或做别的处理。我和他们的要求不太一样,我要求在 server down 了以后,将相应的 log 发给管理员,然后 server 自动重启。还有就是要跨平台。(C++ OR JAVA?)

说实话,不知道为什么,难道对apache组织来说给tomcat配个cluster的集成界面和那么难,用Swing写一个,就好像高尔夫球在果岭上滚来滚去,就是不肯打进洞.

Session replicater随着机器台数增加,性能会降低。

不用session replacation,Tomcat声称有根据连接可以route到正确的tomcat.

TO: Banq

Session replicater随着机器台数增加,性能会降低

这是肯定的,特别是我找到的文章中的那种做法,在每个Server 上都保留一个 session 备份的做法,其实是很占用内存与网络的。所以,我更倾向于 N+1。

不过,回到现实中来看,对我的应用,两个 server 之间做这样的 session replication 是很合适的,实现成本很低,而且 2+1 与 1+1 的资源消耗其实差不多,可能还要节省,毕竟少了一个server 的要求。

TO:liloboy
不用session replacation,Tomcat声称有根据连接可以route到正确的tomcat.

请假想一下,如果一个业务员正在做电信中放号的操作,刚 login 进去,然后正要点submit,这时 server1 crash 掉了,如果没有session replacation 而只是简单的 dispatch,会怎么样?

现在JavaGroup支持N+1的方案吗?

To: iceant

您的server有多少不稳定?如果一台1天N次的话,Tomcat不支持Session Replication的方案应该是不适合.(不过,如果是那样的话应该找找其他原因,找出系统最最薄弱之处,Session Replication也没用)

不过我碰到的过AppServer最少1个月crash一次,所以没什么问题.

================================================================

TO:liloboy

不用session replacation,Tomcat声称有根据连接可以route到正确的tomcat.

请假想一下,如果一个业务员正在做电信中放号的操作,刚 login 进去,然后正要点submit,这时 server1 crash 掉了,如果没有session replacation 而只是简单的 dispatch,会怎么样?

TO:zzeric

我觉得 JavaGroup 应该可以用来实现 N+1. 其实我对 JavaGroup 不熟,只是有一些模糊的概念。我只是觉得它有点像是轻量级的 JMS 。

消息的模型其实就那么几种,只要把逻辑理顺,用什么来实现都好说了~~

TO: liloboy


To: iceant

您的server有多少不稳定?如果一台1天N次的话,Tomcat不支持Session Replication的方案应该是不适合.(不过,如果是那样的话应该找找其他原因,找出系统最最薄弱之处,Session Replication也没用)

不过我碰到的过AppServer最少1个月crash一次,所以没什么问题.

我是个 Software Engineer. 所以我只能从我的角度来看一些问题。
在软件工程上有很多的 BUG 和漏洞,是因为程序员的一念之差而导至的。
有时我们遇到这样的境况,明天就要打 label 了,一个新的 release(alpha 或 beta) 就要出来了,但是还有一些代码需要修改,于是在加班加到半夜2点时,程序员就开始动摇了,在明明知道某些 code 会导至效率的低下或在内存中会留下漏洞的情况下,因为自己的疲惫,程序员选择了对其视而不见。假设 code review 没有选中这段代码,假设在测试的过程中,内存漏洞之类的东东很难及时发现。那么这段代码就随着产品出去了,在外面运行了三个月或更久的时间之后,因为内存不断的泄漏,最后导致系统core dump了.如果这是在电信行业,这样的 core dump 可能就要损失几个亿。

我说的未免是夸张了一点,但只是想说明一个道理,当我们知道一个简单的操作或配置能让系统变得更强壮的时候,为什么我们不做呢?拿到产品上来,这就是核心竞争力之一。别人的东东让你承担一个月一次的 crash. 但是你的产品,即使一天 crash n 次,依然能平滑的工作,做为客户,请你自己选择