EJB3 Remote vs Webservices,表现?

Seb*_*ber 4 web-services glassfish java-ee java-ee-6 ejb-3.1

我打算使用一个webapp,每个使用它的人都会有一个客户端可以在其计算机上运行计算(因为这些计算无法在服务器上完成,负载太多......),然后将结果发送给服务器.

我想会有很多人对我的应用程序感兴趣,这就是为什么我想知道我的架构是否良好以及我是否能够处理成千上万的人.

我计划通过JNDI使用Glassfish服务器公开远程EJB,因此1000人可以同时使用这些EJB(我猜可能有5-50个请求/秒)来检索本地计算所需的数据,然后到发送结果......

将EJB暴露给许多客户端是否昂贵?使用webservices,rmi,另一种解决方案会更好吗?

你会为我推荐的另一种架构推荐我吗?

Pas*_*ent 7

首先,从纯粹的架构角度来看,EJB用于构建分布式应用程序,Web服务是一种集成技术,它们并不真正相互竞争.在您的情况下,EJB将是一个自然的选择(我们正在谈论EJB3,对吗?)和会话bean可以很好地扩展.

其次,如果服务器端代码仅用于从数据库检索数据并在客户端计算后保存结果,则应用服务器很可能不会成为数据库的瓶颈.换句话说,没有太多担心.

因此,由于您的客户端都是100%Java客户端,我只会公开无状态会话bean 1并避免SOAP/XML封送/解组和编写WSDL的开销(如果有一天您需要将您的服务公开为Web服务,那么仍然是可能的,而且很容易).

1您可以自行决定使用JPA或其他方式进行数据访问.