"做了一个中国Java领域最牛的Open Source" ^_^
没有最牛,只有更牛...


to:iceant兄

  Jive处理巨大压力的并发能力主要是"它的cache机制上,再加上充分利用Servlet的多线程机制",除此之外,iceant兄认为还有哪方面处理了?如果仅于此我觉仍不够。它如此出色当有过人之处,就象Google。
另外特别是Banq大哥说的“上面这个结果有很多附加条件,但是因为保密问题,所以无法在这里透露”,好奇心人皆有之,我真被勾起来了。

TO:wjr

很不好意思。
我没研究过 JIVE,只在它还是 1.2.* 版的时候装过一套,但因为中文 Search 问题就放弃了。因为当时我只想要一个论坛,并不需要多好的技术。后来在网上看过一些人介绍 JIVE 的文章,还在一本介绍 JSP 的书中看过有介绍 Jive 设计的章节。只知道它用了很多设计模式,但是始终没时间研究,所以更不知道它的性能如何。

并发的东东,我做的不多,我也只会用 cache 和多线程。像 Banq 说的,他没有使用 Container. 我觉得 Container 是个消耗资源的东东,它需要内存,CPU 资源来管理对象。不知道这算不算一种条件...

对 没有使用EJB容器是他架构上最大的特点,为追求速度,还可以不要WEB容器,这样速度更快。

<<"SAP用四路CPU和一个G的内存来支持260个用户的响应”,我确实觉得他们应该采用新技术了,著名大公司往往就是在新技术以及创新上输给小公司。>>
Banq, 看了你这个评论,忍不住要说两句。I Believe your own benchmark test: handle 4000 request-responses, each in 10 ms.
But you should not compare apple to orange.
如我猜想有错请谅,你是否把EVERYTHING LOADED INTO LOCAL MEMORY,这对于你的GAME软件也许是BRILLIANT IDEA,但普通事务应用,ERP 系统远没有那么SIMPLE

IMHO,SAP的NUMBER 已经不错了,In a real production system, database, web server and app server( or your own middle ware ) are located on seperate boxes, to my experience, thread pooling is a trivial task comparing to other tuning factors(This maybe opposite to game programming). One of my client spent 2 years built a home brewed C++ based server, then took them 50 developers over 1 year to migrate to Websphere(use JDO like object, not Entitybean), it's a Accouting app for government, after few months continuely tuning effort( many, many silly/not that silly design/code logic uncovered during the course), they archieve almost identical benchmark to what they used to have with c++: 800 concurrent users on single 4 way CPU AIX F80, 2G RAM.Webserver, DB hosted somewhere else.

提高并发处理是非常有趣的TASK,IN GENERAL,EFFORT should be spent on monitoring, profiling first; not abandon existing facilities(web, app containers) and build things from scratch. That often leads to maintanence nightmare.

Good thing about Jive is again it demonstrates that java is capable to handling real time, large volume data processing. A friend of mine built a message processing system, he claimed the capacitity is 5 times of yahoo message and many folds of MS exchange, it built purely on Java and file system.

我认为这是最好的中文JAVA论坛。
Wanchun



你说得很好,java从表面上看好像速度没有C等快,但是一旦应用好的并发处理架构,速度一点都不比C慢,我是从骨子里惊叹java确实不同于以前的解释型语言了.最主要用Java作Server很清爽,现在又有JMX框架在那里,做专用Server已经不是很难的一件事情.

看着 Jevang 的话,想着以前和朋友在聊天时常说的话:"一边要安全,一边又要效率,难啊..."

软件除了有效的执行外,还要可管理,可维护,可升级,可扩展 .
而一旦开始考虑这些以后,系统就会变得越来越复杂,越来越慢.
我们用汇编也能写东西,但是为什么不用它写?

呵呵,效率与安全,效率与管理在我能理解的世界里,永远都是这样冲突.我们只能在创建系统时,适时分析,采取不同的对策~


事实上对于数据库驱动为概念的人来说,动不动就以数据量多大来吓唬人,因为他们常常因为数据库设计的问题而导致系统崩溃,就象我以前深圳时候开发过的ERP,生命周期也就3年,随便改动一个逻辑得一个礼拜。一条复杂SQL语句达300行以上,因为是数据库为驱动的原因,数据库因为笛卡耳乘积得到N个T,需要的数据从这N个T中找出1万条。程序员或者设计师大多是数据库工程师

所以JAVA不JAVA,模式不模式对于他们来说也许很不重要了,不过是一层皮。我见过的软件设计者大多这样,极其抗拒JAVA,认为他们现在所掌握的是最好的