英文:
How GAE from Gcp scales regarding the java virtual machine memory usage?
问题
我在GCP上工作,我们有大量的数据,我的疑问是,我知道GAE通过创建新的JVM实例来实现水平扩展,我想Appserver实例是隔离且独立的。没有分布式共享内存之类的东西。
但我正在使用集合来执行一些操作,执行结束时,我注意到集合以处理的总记录数结束,这很奇怪,因为它似乎这些JVM在某种方式上共享内存,使我能够使用集合来存储所有已处理的记录,并且它们没有为每个GAE(JVM实例)创建新的集合。
有任何想法吗?
英文:
I am working in gcp and we have a large volume of data, my doubt is that I know that GAE scales horizontally creating new jvm instances and I suppose that Appserver instances are isolated and independent.There's no distributed shared memory or
anything like that.
But I am using collections to do some operations and at the end of the execution I noticed that the collections end with the total of records that were processed, which is strange because it seems that the jvms are sharing memory in some way, allowing me to use collections to store all the records processed, and they are not creating a new collection per each gae (jvm instance).
Any ideas?
答案1
得分: 1
已经实施了扩展机制,以使您的应用程序的服务能够跟上传入的请求。在任何给定的时间,您的应用程序可以在一个或多个实例上运行,并且请求会在所有实例之间进行分配。没有任何特定或特殊的处理在一个实例上,与另一个实例不同,因为所有这些实例都在处理请求。您的收集数据被处理,就好像只有一个应用程序在处理,而不管需要并行运行多少个实例以跟上流量。有关详细信息,请参阅“管理实例的方式”文档页面。
英文:
Scaling has been implemented to keep your app's service up-to-speed with incoming requests. At any given time, your application can be running on one or many instances with requests being spread across all of them. There is no particular or special processing on one instance, differing from the other, as all of these spun up instances process requests. Your collections are processed as if by one and the only application, irrespective of how many instances are needed to run in parallel, to keep up with traffic. Related detail can be found on the "How Instances are Managed" documentation page.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论