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

第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

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

《大规模Java平台虚拟化与调优》—— 导读

前 言 本书是9年来我在VMware vSphere上运行Java应用的经验结晶,这些经验来源于VMware本身以及VMware的众多客户.实际上,很多VMware客户都在VMware vSphere上运行企业级的核心Java应用,并取得了效果更好的总拥有成本(total cost of ownership,TCO)以及服务水平协议(service level agreement,SLA).我的第一本书是<Enterprise Java Applications Architecture on

《大规模Java平台虚拟化与调优》——1.3 大规模Java平台的技术因素

1.3 大规模Java平台的技术因素 当设计大规模Java平台时,需要考虑很多的技术因素.例如,对于构建良好的大规模Java平台来说,需要很好地理解Java垃圾回收(garbage collection,GC)以及JVM架构.硬件和hypervisor架构.本节中,概要讨论了GC.非一致内存架构(Non-Uniform Memory Architecture,NUMA),以及在理论和实际操作中的内存限制.稍后的章节会给出更为详细的描述,但首先在整体上理解围绕大规模Java平台设计有哪些问题是非常

《大规模Java平台虚拟化与调优》——第2章 现代化可扩展的数据平台

第2章 现代化可扩展的数据平台 尽管你可以采用多种方式现代化应用的架构,但是核心的趋势如下:-围绕Spring框架所提供的灵活性现代化应用架构:-现代化数据. 就数据现代化来说,现在有很多不同的方式.本章主要关注的是日渐流行的一种趋势,那就是使用可水平扩展的内存数据库来提升扩展性和响应时间.在这里使用VMware vFabric SQLFire来阐述内存数据管理系统的功能,你可以使用它来构建可水平扩展且支持硬盘持久化的数据fabric.讨论这种工作负载也会帮助Java平台的工程师强化其Java平

《大规模Java平台虚拟化与调优》——1.2 大规模Java平台的趋势与需求

1.2 大规模Java平台的趋势与需求 在大规模Java平台的迁移工程中,计算资源合并.JVM实例合并.弹性和灵活性以及性能是主要的发展趋势.以下的各个子章节更为详细地讨论了每种趋势.1.2.1 计算资源合并很多VMware客户发现他们的中间件部署快速地膨胀,并且因为成本的不断增长日益成为管理方面的挑战.因此,客户希望虚拟化的方式能够减少服务器的数量.与此同时,客户也希望借助合并的机会来合理化某个特定负载所使用的中间件组件的数量.中间件组件通常会运行在JVM之中,并且规模是成百上千个的JVM实例

《大规模Java平台虚拟化与调优》——1.4 本章小结

1.4 本章小结 本章介绍了大规模Java平台的概念并描述了它们的3种分类: 第1类:大量的JVM. 第2类:JVM数量更少,不过堆空间的规模较大. 第3类:第1类和第2类的组合. 本章还探讨了JVM中的各种理论和实际限制,并介绍了各种工作负载类型及其常见的JVM规模.本章还讨论了NUMA以及水平扩展.垂直扩展.JVM合并和VM合并的优势和劣势.

《大规模Java平台虚拟化与调优》——2.2 SQLFire特性

2.2 SQLFire特性 本节将会介绍SQLFire的关键特性,这些特性使其成为一个面向内存同时支持磁盘持久化的数据管理系统.SQLFire的特性如下:服务器分组(server group):这能够让你对SQLFire成员(JVM)进行逻辑分组,使其具有更好的可扩展性权重(也就是在SQLFire数据fabric的特定分区上部署更多的计算资源).服务器分组指明了为某个表保存数据的SQLFire成员.你可以使用服务器分组来对SQLFire的数据存储进行逻辑分组,以管理表中的数据.存放数据的任意数量

《大规模Java平台虚拟化与调优》——2.3 Active-Active架构与现代化数据平台

2.3 Active-Active架构与现代化数据平台 图2-25展现了位于两个数据中心中的4个active-active端.在数据中心-1中,有Active-1A和Active-1B端,在数据中心-2中,有Active-2A和Active-2B端.Active-1A.1B.2A和2B端都包含了典型企业级应用的所有分层.在本例中,我们使用SpringTrader作为参考应用.对于数据中心-1来说,企业级应用实例可能同时分布于Active-1A和1B中,对于数据中心-2来说,情况类似.如果Acti

《大规模Java平台虚拟化与调优》——2.4 本章小结

2.4 本章小结 本章介绍了vFabric SQLFire的特性,你可以使用这些特性来现代化各种类型的企业级数据.当企业级数据的可扩展性和性能出现了问题,并且不能通过简单的硬件调节和已有应用的重新配置来解决时,那就可能需要重新架构数据层了,应该关注内存数据管理系统.

【北京】淘宝、美团、石墨4位核心工程师分享“Node.js 大规模应用设计以及性能调优实践”

2016年线下活动第一弹: Node.js 大规模应用设计以及性能调优实践 北京 2016. 01. 09 京仪大酒店 会议介绍: 从「现象级」的新潮服务端编程语言真正成为「工业级」,Node.js 依然面临无数的淬炼,特别是在「生产环境」中.邀请到了淘宝.美团.石墨等 Node.js 大规模应用设计以及性能调优的4位核心工程师深入分享. 嘉宾介绍: 1. 淘宝竹暄<Node.js 助力淘宝大促活动> 峰值4万QPS的大促会场催生了百亿成交量的全球狂欢节.支撑着这些玲琅满目的会场和频道页面的,