似乎Quartz调度程序每秒可以运行的作业数量有限制.在我们的场景中,我们每秒大约有20个作业以24x7的速度启动,而石英每秒可以运行多达10个作业(有100个石英线程和100个数据库连接池大小用于JDBC支持的JobStore),但是,当我们将它增加到20个时每秒工作,石英变得非常慢,其触发的工作与他们的实际预定时间相比非常晚,造成许多失火并最终显着降低系统的整体性能.一个有趣的事实是,JobExecutionContext.getScheduledFireTime().getTime()对于这样的延迟触发,在他们的安排时间之后变为10-20甚至更多分钟.
石英调度程序每秒可运行多少个作业而不影响作业的预定时间,这些负载的最佳石英线数应该是多少?
或者我在这里遗漏了什么?
我们有近10k项目(分为2个或更多类别,在目前情况下我们有2个类别),我们需要在给定频率下进行一些处理,例如15,30,60 ...分钟,这些项目应在该频率内处理每分钟给定油门.例如,假设60分钟频率,每个类别的5k项目应该以每分钟500项的节流进行处理.因此,理想情况下,这些物品应在一天中每小时的前10(5000/500)分钟内处理,每分钟有500件待处理的物品,这些物品在每分钟的每一秒均匀分布,因此我们将大约8-一个类别每秒9项.
现在为了实现这一目标,我们使用Quartz作为调度程序来触发处理这些项目的作业.但是,我们不会在Job.execute方法中处理每个项目,因为每个项目处理需要5-50秒(平均到30秒),这涉及webservice调用.我们宁愿为JMS队列上的每个项目处理推送消息,而单独的服务器机器处理这些作业.我注意到Job.execute方法花费的时间不超过30毫秒.
Solaris Sparc 64位服务器,带有8/16内核/线程cpu,用于具有16GB RAM的调度程序,我们在调度程序集群中有两台这样的机器.
在我的工作中,我需要将一些现有的Enterprise Java应用程序移动到AWS.我在aws.amazon.com上浏览了很多页面,并且还搜索了足够的内容.另外,我试图在stackoverflow上查看所有相关问题.所有这些都使许多事情变得清晰,但是,我仍然有些困惑.这是我们的应用程序结构:
因此,应用程序架构非常简单.但是,问题是我们需要部署此应用程序的许多实例.此计数目前为15,可以超过30.还有一点是所有这些实例共享一个公共数据库.
现在,我们需要通过迁移到AWS来实现:
至于我现在能够理解AWS基础设施,以下是我们在AWS中需要的设置:
现在我的问题是:
我是否真的需要为每个主服务器实例提供额外的服务器实例(用于容错),考虑到AWS自动备份EBS的面孔,他们会在硬件出现故障的情况下为新EBS提供相同的数据?
在上述场景中,如何在所有服务器实例(4x2)之间共享数据库?我看到的一个选项是在那些服务器实例中实现MySQL集群.可以说,MySQL集群将包含1个管理节点,3个SQL节点和4个数据节点.但是,在这种情况下,维护集群对我们来说是一个额外的开销,这可能不被接受,因为我们希望摆脱基础架构管理.
我是否需要为数据库安装RDS并从所有服务器端口(4x2)中删除MySQL实例?如果是,我还需要购买除EC2实例之外的RDS实例(我认为,如果我需要为RDS购买单独的实例,那么总体基础设施的成本将至少增加75%.)或者RDS实例也提供计算单元用于应用程序开发,从而减少应用程序部署的实例总数?
在RDS实施的情况下,是否真的需要基于EBS的EC2实例?如果我们可以了解如何从具有RDS实例的EC2实例中删除EBS要求,我们可以降低总成本.
任何帮助将不胜感激,如果我不清楚指出我的问题需要更多的澄清,请告诉我.
amazon-ec2 amazon-ebs java-ee amazon-web-services amazon-rds
使用以下两个命令之一运行配置单元服务器之间有什么区别: -
hive --service hiveserver2spark/sbin$ ./start-thriftserver.sh他们在不同的端口上听吗?
我应该使用哪一个在我的Java类中使用Apache Hive JDBC驱动程序建立JDBC连接?
我使用Maven构建Spark-1.2.1以使用以下命令启用Hive支持:
mvn -Pyarn -Phadoop-2.4 -Dhadoop.version=2.4.0 -Phive -DskipTests clean package
这导致在文件/spark-1.2.1/core/target/scala-2.10/classes夹中生成一些类文件
现在我如何在我的Eclipse + Maven项目中使用这个新构建的Spark ?我想HiveContext在Eclipse中使用Spark-SQL的类.
java ×2
amazon-ebs ×1
amazon-ec2 ×1
amazon-rds ×1
apache-spark ×1
eclipse ×1
hadoop ×1
hive ×1
java-ee ×1
jdbc ×1
maven ×1
scala ×1
thrift ×1