草庐IT

scalability

全部标签

java - 使现有的 Spring Batch 应用程序在多个节点上运行

我们有现有的SpringBatch应用程序,我们希望使其可扩展以在多个节点上运行。SpringBatch的可扩展性文档涉及代码更改和配置更改。我只是想知道这是否可以仅通过更改配置来实现(添加新类并将其连接到配置中很好,但只是想避免对现有类进行代码更改)。非常感谢您的提前帮助。 最佳答案 这真的取决于你的情况。具体来说,为什么要在多个节点上运行?您试图克服的瓶颈是什么?SpringBatch开箱即用地处理跨多个节点扩展的典型两个场景是远程分块和远程分区。两者都是主/从配置,但每个都有不同的用例。当步骤中的处理器是瓶颈时,使用远程分块。

java - 哪个是可扩展的?与 REST 服务对话的简单 CRUD Web 应用程序与 Web 应用程序

我觉得标题说得很清楚了。我不是可扩展性大师。我即将创建一个Web应用程序,它需要扩展到大型数据集并且可能有很多(这里不会夸大,假设有数千个)并发用户。MongoDB是数据存储库,我在编写一个简单的Play!之间左右为难。webapp与MongoDB交谈与Play!应用程序与REST服务应用程序(在Scala中)对话,后者负责所有业务逻辑和持久性的繁重工作。我的一部分认为将业务逻辑包装为服务是面向future的,并且允许在多个节点中仅部署webapp(缩放)。我来自JavaEE堆栈和Play!是JavaWeb框架的反叛者。这种方法让我确信我可以远离Play!如果需要的话。我的一部分也认为

java - 如何在 java 中生成一个大的(30MB+)xml 文件?

文件本身并没有那么大,应该可以放在内存中。但是一旦你将它与其他开销因素结合起来,就会开始成为一个问题。我们正在内存中构建一个DOM,它不会为我们扩展。使用原始输出流似乎有问题,因为我们必须小心转义字符。有哪些好的方法可以做到这一点?这个有货库吗? 最佳答案 STAX提供了一个方便的API,用于将XML写入输出流。简易教程here. 关于java-如何在java中生成一个大的(30MB+)xml文件?,我们在StackOverflow上找到一个类似的问题: ht

java - 使用 Spring 的线程安全、无状态设计

我假设如果实例变量由springIOC管理,并且是单例,那么设计可以称为无状态和线程安全的。这种类型的设计因此可以扩展到集群服务器。下面概述的我的假设是否正确?@Repository("myDao")publicclassMyDaoimplementsDao{@AutowiredprivateJdbcTemplatejdbcTemplate;@Value("${sqlFoo}")privateStringfoo;@OverridepublicIntegergetMyInt(Stringstr){returnjdbcTemplate.queryForInt(foo,str);}然后注入(

java - 静态方法是否有利于可扩展性?

静态方法和类是否有利于可伸缩性?我认为静态类/方法提高了应用程序的可伸缩性,而实例方法的伸缩性不大。那么在可能的情况下编写静态方法是一种好的编程习惯吗? 最佳答案 Doesstaticmethodsandclassaregoodforscalability?一个与另一个关系不大。Ithinksostaticclass/methodimprovesscalabilityofapplicationandinstancemethodsdoesn'tscalesmuch.错了。你为什么这么认为?Soisitgoodprogrammingpr

java - 带有 native 代码的多核 Java 程序

我在Java程序中使用nativeC++库。Java程序是为使用多核系统而编写的,但它无法扩展:最好的速度是在6个内核左右,即添加更多内核会减慢速度。我的测试表明,对native代码的调用本身会导致问题,因此我想确保不同的线程访问native库的不同实例,从而消除并行任务之间的任何隐藏(内存)依赖性。换句话说,而不是静态blockstatic{System.loadLibrary("theNativeLib");}我想为每个线程动态加载库的多个实例。主要的问题是这是否可能。然后怎么做!注意事项:-我在Java7fork/join以及Scala/akka中都有实现。因此,感谢每个平台的任

java - 我可以使用 Terracotta 来扩展 RAM 密集型应用程序吗?

我正在评估Terracotta以帮助我扩展当前受RAM限制的应用程序。它是一个协作过滤器,每个用户存储大约2KB的数据。我想使用Amazon的EC2,这意味着我只能使用14GB的RAM,这为我提供了大约700万用户的有效每服务器上限。我需要能够超越这一范围。根据我目前的阅读,我了解到Terracotta的集群堆可以大于每台服务器上的可用RAM。如果每台服务器仅支持14GB,那么拥有30GB或更大的有效集群堆是否可行?每个用户的数据(其中大部分是float数组)变化非常频繁,可能每分钟数十万次。这些更改中的每一个都没有必要在它们发生时同步到集群中的其他节点。是否可以只定期同步一些对象字段

java - DefaultMessageListenerContainer 不缩放

我有一个DefaultMessageListenerContainer,它(在我看来)没有按比例放大。Container被定义为监听一个队列,其中有100条消息。我希望容器可以达到任何长度,消息将尽可能快地被消耗(通过观察maxConcurrentConsumers配置)。所以我假设有7个并发消费者。(从容器启动时的2个并发消费者开始)一些日志信息:activeConsumerCount:5concurrentConsumers:2scheduledConsumerCount:5idleConsumerLimit:1idleTaskExecLimit:1maxConcurrentCon

java - 设计可扩展的基于 Web 的应用程序的关键因素

目前我正在开发基于网络的应用程序。我想知道设计人员在设计可扩展的基于Web的应用程序时应注意哪些关键因素? 最佳答案 这是一个相当模糊和广泛的问题,你可以写书。你能走多远?在某些时候,SQLJOIN的性能会崩溃,您必须实现一些分片/分区策略。你说的是这个水平吗?一般原则是:缓存所有静态内容(图像、CSS、Javascript)并对其进行版本控制;将此类内容放在另一个域中以阻止不必要的cookie流量;GZip/deflate一切;只执行需要的Javascript;永远不要使用Javascript做您可以在服务器端做的事情(例如,使用

【论文阅读】(DiTs)Scalable Diffusion Models with Transformers

(DiTs)ScalableDiffusionModelswithTransformers文章目录(DiTs)ScalableDiffusionModelswithTransformers论文概述DiffusionTransformers实验参考文献引用:[1]PeeblesW,XieS.Scalablediffusionmodelswithtransformers[C]//ProceedingsoftheIEEE/CVFInternationalConferenceonComputerVision.2023:4195-4205.论文链接:(ICCV2023)https://arxiv.org