Web服务 – EJB3远程与Web服务,性能?

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

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

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

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

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

解决方法

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

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

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

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

相关文章

vue阻止冒泡事件 阻止点击事件的执行 <div @click=&a...
尝试过使用网友说的API接口获取 找到的都是失效了 暂时就使用...
后台我拿的数据是这样的格式: [ {id:1 , parentId: 0, name:...
JAVA下载文件防重复点击,防止多次下载请求,Cookie方式快速简...
Mip是什么意思以及作用有哪些