天天看点

《大规模Java平台虚拟化与调优》——第1章 大规模Java平台简介1.1 大规模Java平台的分类

本节书摘来自华章计算机《大规模java平台虚拟化与调优》一书中的第1章,第1.1节,作者:(美)emad benjaminliang) 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

本章定义了3类大规模的java平台:

第1类:大量的java虚拟机(java virtual machine,jvm)(100~1000个jvm)。

第2类:jvm的数量较少但是堆很大。

第3类:前两类的组合,其中第1类使用的数据来源于第2类的平台之中。

除此之外,本章还讨论了各种趋势,并且大致描述了一些技术性的考量因素,以帮助你理解设计大规模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合并

弹性和灵活性

性能

让我们更为详细地看一下每个趋势。