在互联网带来的“大”问题压力下,我们需要一种系统工程的思想,通过“积木化”的改变,来重新定义计算资源的使用方式、服务的提供方式、社会化大生产的协作过程。这种组织的思想的落实机制使我们可以组织资源以服务,组织技术以实现,组织流程以应变。
云服务/云平台技术
信息社会的“三大”,即“大用户”、“大数据”、“大系统”。
云计算平台的六大技术特征/六大核心技术思想:弹性、透明、积木化、通用、动态、多租户。
云计算面临的三个根本问题/挑战:
- 在增加节点、扩大系统规模的同时,如何保证系统性能的近线性提高
- 系统任何一个部分都有能出问题,如何保证系统的稳定运行?
- 在面临不同业务需求时,如何快速将资源重新组织、以新的架构适应变化?
作为云计算技术的具体实现,云计算平台应对这三个挑战的就是其三个根本的技术思想:弹性、透明、积木化。而为了实现这三点,云计算平台还包含另外三个技术思想:动态、通用、多租户。
这意味着,对于上层多变的应用需求而言,云计算平台提供了一个行之有效的支撑环境,并实现了IT自动化管理,以机器管理机器。
弹性的思想意味着云计算平台必须要解决三个问题:如何将大量计算资源组织起来,协同工作?如何确保资源的变化会实时反映到系统性能上?如何时刻平衡个节点压力?云计算平台采取的实现方式是:控制损耗、状态感知、动态均衡。
针对损耗控制、群组之间沟通、单点失效和保证信息一致性的问题,云计算平台分别采用树状结构、冗余机制、多活体机制、消息顺序机制进行解决,而体现在技术应用中就是一种新的通信机制--群组通信。
针对如何及时感知节点的加入或退出状态,然后做相应调整的问题。1、在云计算平台中,群组通信模式要求每个新节点加入时,都向一个管理节点汇报自己的加入,并询问其他节点情况,从而保证每个节点可以看到全局视图的情况下,只和有限节点进行有限通信,减少了内部消耗,又能支持大规模部署。2、除此之外,在群组通信模式下,每个节点都会定期向它看到的全局视图范围内其他节点发送活动探测包,如果在一定时间范围内未收到任何回应,或者在任何消息往来的情况下未收到回应,则视此节点失效,那探测节点会主动将此信息告知其他节点,各节点形成新的全局视图。简而言之,群组通信模式提供了成员管理服务,为所有的成员提供一个全局视图,任何一个成员的加入和退出都会通知群里的成员,以便于进行故障恢复或者负载均衡的处理。另外,群组通信模式支持状态迁移,保证新加入成员的状态和其他成员保持一致。
针对新进节点既要分担工作压力,又不能对现有的工作流程造成不良影响的问题。在云计算平台采用负载均衡将压力分摊。动态是实现负载均衡最基本的机制,只有能动态地监控反馈负载,才能真正实现负载均衡。“无状态”服务情况下,在群组通信模式下,管理节点会立刻发现新加入的节点,然后按请求状况和节点忙闲状态,根据负载均衡机制来安排相关节点工作。在“有状态”服务情况下,通常采用的一种办法是哈希算法,并生成一张哈希表留待快速查询。在节点数固定的情况下,这种办法既可以快速查询,又可以分摊压力。但新节点加入后,就面临了新问题,如何在增加节点时尽量保证之前的数据还在原来的服务器上,以及在删除节点时尽量进行最少的数据迁移?云计算平台通过一种DHT的算法解决了这个问题。
透明的思想有两层含义:一是运用冗余等方式,保证系统底层架构的节点发生任何变化,都不会对系统的整体运行造成影响;二是用户无需关心底层的实现方式,只需要专注上层的业务逻辑。云计算平台采用的方法是:自容错、自管理、跨平台互操作性。
自容错主要解决单点出状况的可能。多活体可以解决单点的能力瓶颈问题,冗余是云计算里解决可靠性的唯一正确的方法。另一个问题是如何保证冗余节点能立刻获知失效节点的工作状态,避免状态(session)丢失的问题发生。在云计算平台中,一种方式是采用会话复制技术,通过群组通信将用户的会话数据复制到集群中的某几个节点上来保存状态信息。另一种方式是将节点的内存连接成一个全局共享的内存数据库空间,提供高速的会话数据存取服务,然后通过冗余等机制保证数据不会丢失。
自管理解决云计算平台如何对各计算资源进行调度?云计算平台通过自动监测和反馈,可动态感知系统状况,基于既定策略做出实时或者近实时响应,调动有合适执行能力的计算资源完成任务,保证系统正常运行。
跨平台互操作性解决通用的问题。通用包括用户的通用、平台的通用、应用的通用。
积木化思想
适应企业、降低技术复杂度、降低商业成本、提升应用价值。
从技术、产业、社会的多个维度进行分析和思考。
大规模系统的维护、海量数据的存储