第1章 大规模Java平台简介
本章定义了3类大规模的Java平台:
- 第1类:大量的Java虚拟机(Java Virtual Machine,JVM)(100~1000个JVM)。
- 第2类:JVM的数量较少但是堆很大。
- 第3类:前两类的组合,其中第1类使用的数据来源于第2类的平台之中。
除此之外,本章还讨论了各种趋势,并且大致描述了一些技术性的考量因素,以帮助你理解设计大规模Java平台时与之相关的技术问题。
1.1 大规模Java平台的分类
基于与客户的交流,大规模的Java平台主要可以分为如下的3类:
- 第1类:这一类的特点在于拥有大量的Java虚拟机(Java Virtual Machine,JVM)。在这类中,有数百甚至上千个JVM部署到Java平台上,这些JVM通常应用于一个系统中,并且服务于百万级的用户。我曾经见过有的用户具备多达15 000个JVM。当你与上千个的JVM实例打交道的时候,你必须要考虑到管理成本以及是否能有机会合并这些JVM实例。
- 第2类:这一类的特点是更少数量的JVM(通常是1~20个),但是堆会比较大(8~256GB,甚至更大)。这些JVM通常有内存数据库部署在里面。在这类中,垃圾收集(garbage collection,GC)的调优变得至关重要,后续的章节中会进行讨论。
- 第3类:这一类结合了前面提到的两类,在这里可能会有上千台JVM运行企业级应用,而应用所使用的数据来源于后端第2类的大型JVM。
关于大规模Java平台的虚拟化与调优,以上提到的3类都有4种关键的需求趋势:
- 计算资源的合并
- JVM合并
- 弹性和灵活性
- 性能
让我们更为详细地看一下每个趋势。
时间: 2024-09-27 18:20:50