Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.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
Amazon web services 用事件驱动的方法更新生产系统中计算特征所需的依赖文件_Amazon Web Services_Spring Boot_Architecture_Event Handling_Feature Engineering - Fatal编程技术网

Amazon web services 用事件驱动的方法更新生产系统中计算特征所需的依赖文件

Amazon web services 用事件驱动的方法更新生产系统中计算特征所需的依赖文件,amazon-web-services,spring-boot,architecture,event-handling,feature-engineering,Amazon Web Services,Spring Boot,Architecture,Event Handling,Feature Engineering,我有一个生产系统用例,其中我的控制器代码依赖于一些外部文件(一些相关业务逻辑的元数据信息;3-5个JSON文件,总共相当于1GB的数据),这些文件会频繁更新,以便为我的数据科学模型创建功能 我正在考虑在所有为我的请求服务的机器上复制这些外部文件的最佳方法。假设我有50台EC2机器正在运行,为来自负载平衡器的请求提供服务,并且我收到来自SNS的通知,外部文件已经更新。在所有50台EC2机器上获取新元数据文件的最佳方法是什么?我收到Senior的评论,说我应该使用基于事件的机制,而不是轮询 控制器代

我有一个生产系统用例,其中我的控制器代码依赖于一些外部文件(一些相关业务逻辑的元数据信息;3-5个JSON文件,总共相当于1GB的数据),这些文件会频繁更新,以便为我的数据科学模型创建功能

我正在考虑在所有为我的请求服务的机器上复制这些外部文件的最佳方法。假设我有50台EC2机器正在运行,为来自负载平衡器的请求提供服务,并且我收到来自SNS的通知,外部文件已经更新。在所有50台EC2机器上获取新元数据文件的最佳方法是什么?我收到Senior的评论,说我应该使用基于事件的机制,而不是轮询


控制器代码是用Java编写的-Spring Boot,正在使用的云技术-AWS

要更新EC2实例,可以使用SSM运行命令、自动化、状态管理器或维护窗口。有很多可能性。不幸的是,我不理解关于“基于事件的机制而不是轮询”的评论。你能解释一下你的意思吗?“基于事件”比如使用CloudWatch事件或EventBridge来触发更新?1GB配置文件可以存储在S3中。由于配置文件可以在S3中删除,因此这可能是一个触发器/事件,可能会提醒生产系统获取该文件(基于事件)。在我的例子中,轮询是检查s3 bucket是否添加了新文件以获取。我明白了。是的,因此您可以将S3事件通知设置为触发,例如SNS或Lambda。其余的取决于50个实例是如何设置的?你的问题没有提供任何细节。例如,如果他们使用的是系统管理器(SSM),则您可以触发SSM Run命令,一次更新所有50个实例。要更新EC2实例,可以使用SSM Run命令、自动化、状态管理器或维护窗口。有很多可能性。不幸的是,我不理解关于“基于事件的机制而不是轮询”的评论。你能解释一下你的意思吗?“基于事件”比如使用CloudWatch事件或EventBridge来触发更新?1GB配置文件可以存储在S3中。由于配置文件可以在S3中删除,因此这可能是一个触发器/事件,可能会提醒生产系统获取该文件(基于事件)。在我的例子中,轮询是检查s3 bucket是否添加了新文件以获取。我明白了。是的,因此您可以将S3事件通知设置为触发,例如SNS或Lambda。其余的取决于50个实例是如何设置的?你的问题没有提供任何细节。例如,如果他们正在使用Systems Manager(SSM),那么您可以触发SSM Run命令,一次更新所有50个实例。