We don’t allow questions seeking recommendations for software libraries, tutorials, tools, books, or other off-site resources. You can edit the question so it can be answered with facts and citations.
Closed 9 years ago.
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
我目前的想法:
企业支持,启动较慢:JBoss
都可以支持庞大的用户群,并且都可以很好地完成 95% 的用例。
我会默认从顶部开始,然后随着您的情况/要求变得更加复杂,例如您需要多少 Java EE 支持
此外,如果您小心不使用任何自定义功能,稍后更改应该相对简单。
这纯粹是基于我的个人经验,有点简单化——可以写书了!
My current thoughts:
enterprise support, slower to start: JBoss
All can support large user bases and all will do 95% of use cases well.
I'd start by default at the top and move down the list as your situation/requirements get more complex e.g. how much Java EE support you need
Also if you are careful on not using any custom features changing at a later point should be relatively simple.
This is purely based on my personal experience and is a bit simplistic - one could write books on this!
如果您正在寻找 Java EE 服务器,基本上有两个选择:GlassFish 或 JBoss (Geronimo 或 Jonas 的社区太小,我不知道对他们有什么严肃的参考 - 这并不并不意味着没有 - 我不会选择它们)。两者都是重要的平台,支持集群和 HA,并已用于构建大规模集群并提供商业支持(如果这很重要)。
现在,快速总结一下各个版本:
最后,如果您的项目在 2011 年之前不会投入生产,我会考虑 Java EE 6。如果不是,那么请选择 Java EE 5 服务器。无论如何,不要仅根据网络的观点做出选择。下载两台服务器,在两台机器上设置至少包含四个节点的集群(这是最低限度,如果可能,使用更大的集群),使用具有代表性的应用程序概念证明运行基准测试。并且不要犹豫让来自 JBoss 和 Oracle 的人员参与进来,我很确定他们会很乐意帮助证明他们的解决方案是最好的:)
参考资料
对于 JBoss,请查看 Bela Ban 的演讲 JBoss 中的大型集群 (pdf),位于 JBoss World 2009。另请查看 < a href="http://www.redhat.com/promo/summit/2010/sessions/jboss.html" rel="nofollow noreferrer">JBoss World 2010。对于 GlassFish,请查看他们的故事,更具体地在 电信公司。请联系 Sun/Oracle 和 RedHat 以获取更多参考。
If you're looking for a Java EE server, you basically have two options: GlassFish or JBoss (Geronimo or Jonas just have too small communities and I'm not aware of serious references for them - which doesn't mean there aren't any - I wouldn't pick them). Both are serious platforms, support clustering and HA and have been used to build large scale clusters and offer commercial support if this matters.
Now, a quick summary of the various versions:
At the end, if you project won't go in production before 2011, I would consider Java EE 6. If not, then go for a Java EE 5 server. In any case, don't base your choice only on opinions of the web. Download both server, setup a clusters of at least four nodes on two machines (that's a minimum, use a bigger cluster if possible), run a benchmark with a representative proof of concept of your application. And don't hesitate to involve folks from JBoss and Oracle, I'm pretty sure they'll be happy to help at proving their solution is the best one :)
References
For JBoss, have a look at Bela Ban's talk Large clusters in JBoss (pdf) at JBoss World 2009. Also check the sessions from JBoss World 2010. For GlassFish, have a look at their stories and more specifically in the Telco. Contact Sun/Oracle and RedHat for more references.
如果您确实需要 Java EE(严格来说),那么 JBoss 是一个不错的选择。如果您不需要真正的 Java EE,那么使用 Tomcat 会很好。 SpringSource 还提供了一个名为 tc Server 的 Tomcat 企业版,如果满足以下条件,这将是一个不错的选择:你不需要真正的 Java EE。
If you really need Java EE (strictly speaking) then JBoss is a good option. If you don't need true Java EE then you would be well served by using Tomcat. SpringSource also provides an enterprise version of Tomcat with support named tc Server that would be a good option if you don't need true Java EE.
我实际上建议使用 GlassFish。除了您熟悉之外,它还使用 NIO 网络基础设施 (Grizzly),支持非常高的并发数量连接。
我们主要使用JBoss,我可以告诉你JBoss5也可以支持相当多的连接(据我所知,它也使用基于NIO的连接器)。
还有一个名为 Resin 的 EJB 容器,它是半开源的(基本上他们都有开源版本和专有版本)。人们都说它性能出色,但我还没有机会进一步研究。
我的最后一点是,您确定要使用 JavaEE EJB 容器吗?我们实际上是从JavaEE EJB容器开始的,但是由于我们的性能需求等,我们现在正在尝试迁移到Tomcat+Spring。 EJB 对线程模型等有限制,如果您有除 Web 浏览器之外的客户端,这可能会成为不必要的限制...
直到 JavaEE5,您只有这个“TimerService”用于执行定期任务,而 JMS 则用于执行异步任务,这非常困难。重量很重并且会变得非常烦人。
I actually recommend to go with GlassFish. Apart from your familiarity, it uses a NIO network infrastructure (Grizzly) which supports very high number of concurrent connections.
We primarily use JBoss, and I can tell you JBoss5 can support a pretty high number of connections, too (as far as I know, it also uses a NIO based connector).
There is also an EJB container called Resin, which is semi-opensource (basically they have open source version and proprietary version). People say it has excellent performance, but I haven't got the chance to investigate further.
My last point is, are you sure you want to go with JavaEE EJB container? We actually started off with JavaEE EJB container, but because of our performance requirement etc. we are now trying to migrate to Tomcat+Spring. EJB has restriction on threading model etc., which can become unwanted restriction if you have clients other than web browsers...
Until JavaEE5, you have only this "TimerService" for executing periodical tasks, and JMS for doing asynchronous stuff, which is very heavy weight and can become very annoying.
如果您谈论的是完整的 Java EE,那么就是 Glassfish。
GFv2.1 坚如磐石,GFv3 还太年轻,但提供了新的 Java EE 6。
积极开发,免费和商业支持,良好的论坛。 Oracle 已经发布了它的路线图。
它易于使用、易于配置、组织良好。很棒的控制台。
来自从事不同方面工作的人们(Metro、Grizzly、JAX-RS、NetBeans 等)的大量补充文档和文章确实有据可查,
NetBeans + Glassfish 是一种轻松的开箱即用体验。
提供集群和各种管理选项。
If you're talking full boat Java EE, then Glassfish.
GFv2.1 is rock solid, GFv3 is too young to say, but offers new Java EE 6.
Actively developed, free and commercial support, good forums. Oracle has published it roadmap for it.
It's easy to use, easy to configure, well organized. Great console.
Really well documented, vast amounts of supplementary documents and article from folks working different aspects of it (Metro, Grizzly, JAX-RS, NetBeans, etc.)
NetBeans + Glassfish is a painless out of box experience to get started.
Offers clustering and all sorts of management options.