Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment Glassfish 3 EJB应用程序部署建议?_Deployment_Ejb 3.0_Glassfish 3_Production Environment - Fatal编程技术网

Deployment Glassfish 3 EJB应用程序部署建议?

Deployment Glassfish 3 EJB应用程序部署建议?,deployment,ejb-3.0,glassfish-3,production-environment,Deployment,Ejb 3.0,Glassfish 3,Production Environment,由于各种不幸的管理原因(预算限制等),我,开发人员,被安排在生产环境中部署应用程序。问题是我在生产EJB应用服务器部署方面没有任何经验。也就是说,他们知道没有成功的保证 上下文: dev服务器在mac机器上运行最新版本的Netbeans和glassfishv3 98%/99%正常运行时间正常,没有财务/关键事务 它是一个客户机/服务器EJB3应用程序,web层、业务层和资源层当前运行在同一台机器上 我有权选择硬件/软件基础设施 负荷估计:平均10个同时连接,罕见200个峰值 出站公共数据为文

由于各种不幸的管理原因(预算限制等),我,开发人员,被安排在生产环境中部署应用程序。问题是我在生产EJB应用服务器部署方面没有任何经验。也就是说,他们知道没有成功的保证

上下文

  • dev服务器在mac机器上运行最新版本的Netbeans和glassfishv3
  • 98%/99%正常运行时间正常,没有财务/关键事务
  • 它是一个客户机/服务器EJB3应用程序,web层、业务层和资源层当前运行在同一台机器上
  • 我有权选择硬件/软件基础设施
  • 负荷估计:平均10个同时连接,罕见200个峰值
  • 出站公共数据为文本/小图片(用于iPhone客户端),仅限入站HTTP文本
  • 将进行基本维护(备份、服务器重新启动等)
关于生产部署的我的问题

  • 哪些是必备的基础设施?最低系统规格等
  • 养玻璃鱼可以吗
  • 我应该关注服务器的哪些配置方面
  • 最坏情况:如果我在开发过程中部署相同的软件基础架构(Netbeans/Glassfish v3),服务器会跟上吗

任何建议都是非常受欢迎的。谢谢

我建议如下:

  • 不是Mac专家,但我会说使用6GB或更多的RAM
  • 现在硬盘空间不是问题
  • 不太了解abt Mac处理器(双核等的瓦特均衡)
  • 就我个人而言,我还没有在生产中使用GF3,但我希望它现在是稳定的,所以你应该没事
  • 系统架构:

  • 在某些web服务器(Apache或Sun web服务器)上接收所有HTTP请求,并与Glassfish服务器保持负载平衡
  • 现在,根据您的物理(或虚拟)机器,在每台机器上创建Glassfish应用程序服务器的实例。如果您只有一台机器,那么至少创建两个Glassfish实例。这将有助于一个节点进行维护,另一个节点继续运行
  • 就部署而言,请确保停止调试日志并微调JPA日志等
  • 使用Ant或其他脚本部署代码并备份现有代码
  • 我希望这将有助于启动和休息,你可以问或解决你的问题


    祝你好运。

    对于体系结构,你可以从一个没有前端web服务器的GlassFish实例开始(GlassFish有一个内置的非常强大的实例)。如果您可以等待GlassFish 3.1的发布,您将能够添加实例(集群或独立),并提供可扩展性和集中式管理

    我见过的GlassFish的大多数生产实例都使用1GB-2GB的JVM堆(-Xmx)运行,但如果在内存中加载大量数据或使用某些框架,您的里程可能会有所不同。如果你想要更好的可靠性,让他们在不同的机器上显然是一个加号。对于同一台机器上的两个实例,如果一个实例出现故障(但如果机器出现故障),则可以提供服务的连续性

    我建议使用“asadmin”命令行工具编写尽可能多的脚本,以提供资源(连接池、JDBC数据源等)和应用程序,并尽量不要在生产平台上使用NetBeans

    使用模拟负载进行基准测试听起来是一件明智的事情,在投入使用之前尝试将其组合在一起,这可能会派上用场


    你没提到数据库。不是吗?

    非常感谢JSS和Alexis议员的回答。是的,数据库目前是一个derby db(资源层),但我考虑使用MySQL作为生产数据库。有什么建议吗?@DavidD-Derby对嵌入式系统和开发很有帮助,我推荐MysQL用于生产。