在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查到的都是些概念性或商业性的宣传资料,其实真正需要深入的还是那个早以被人熟知的概念------分布式。
分布式可繁也可以简,最简单的分布式就是大家最常用的,在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库,其实很多号称分布式专家的人也就停留于此,大致结构如下图所示:
这种环境下真正进行分布式的只是web server而已,并且web server之间没有任何联系,所以结构和实现都非常简单。
有些情况下,对分布式的需求就没这么简单,在每个环节上都有分布式的需求,比如Load Balance、DB、Cache和文件等等,并且当分布式节点之间有关联时,还得考虑之间的通讯,另外,节点非常多的时候,得有监控和管理来支撑。这样看起来,分布式是一个非常庞大的体系,只不过你可以根据具体需求进行适当地裁剪。按照最完备的分布式体系来看,可以由以下模块组成:
分布式任务处理服务:负责具体的业务逻辑处理
分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与查询,是节点之间联系的桥梁
分布式DB:分布式结构化数据存取
分布式Cache:分布式缓存数据(非持久化)存取
分布式文件:分布式文件存取
网络通信:节点之间的网络数据通信
监控管理:搜集、监控和诊断所有节点运行状态
分布式编程语言:用于分布式环境下的专有编程语言,比如Elang、Scala
分布式算法:为解决分布式环境下一些特有问题的算法,比如解决一致性问题的Paxos算法
因此,若要深入研究云计算和分布式,就得深入研究以上领域,而这些领域每一块的水都很深,都需要很底层的知识和技术来支撑,所以说,对于想提升技术的开发者来说,以分布式来作为切入点是非常好的,可以以此为线索,探索计算机世界的各个角落。
相关推荐
### 分布式电源接入概述 分布式电源是指那些分布在用电现场或附近的电源,它们通常以小规模形式存在,比如家庭太阳能发电系统、分布式风力发电、小型水电站等。接入电网后,分布式电源可以自发自用,也可将其多余...
在微网与双向变流器的关系方面,文中提出了一种改进后的微网结构,该结构包含了储能系统和分布式电源,并能够与配电网络进行连接。在孤岛运行模式下,双向变流器成为核心,能够根据电网特性和运行环境进行模式切换。...
天翼云认证开发工程师重点知识手册V2是一份专为那些希望深入了解并掌握天翼云平台及其相关技术的专业人士准备的手册。本手册旨在帮助读者系统地学习云开发的核心概念和技术要点,并通过实践加深对天翼云服务的理解。...
### 测控软件架构设计知识点概述 #### 一、架构设计方法 ##### 架构过程——以复杂系统为例 **1. 总体架构** - 定义整个系统的框架和关键组成部分,包括硬件、软件以及它们之间的交互方式。 - 确保系统能够在宏观...
- **内容概览**:这一章从宏观角度定义了完整的业务维度生命周期,讨论了每个步骤,并对整个生命周期进行了总体概述。 - **关键知识点**: - 定义业务维度及其在整个数据仓库中的作用。 - 生命周期各阶段的目标和...
- 设计概述:包含总体约束、系统外部接口和设计方案概述,比如构建一个基于XMPP协议的分布式服务端系统,以及客户端的实现。 3. 子系统设计: - 子系统定义:根据需求将系统划分为不同的子系统,并详细描述每个子...
### 构架分析与设计开发技术系列:深入探讨软件构架的核心概念与实践 #### 软件构架概述 在软件开发过程中,**软件构架**是至关重要的组成部分之一,它不仅决定了软件系统的整体结构,还直接影响着系统的性能、...
在第一章“计算机操作系统概述”中,我们将探讨操作系统的基本概念、发展历史及其主要功能。 1. 存储程序式计算机模型 存储程序式计算机模型是现代计算机的基础,它包括存储器、运算器、控制器以及输入/输出(I/O)...
从提供的文件内容中,我们可以提炼出以下关于“陕西省山地太阳总辐射分布式模拟研究”的知识点: 1. 研究背景与重要性:山地地区太阳辐射的分布受到地形、气候等多种因素的综合影响,传统的太阳辐射研究方法大多...
- **单元测试**:强调了在分布式系统开发过程中实施单元测试的重要性。 - **大数据的基准测试** - **基准测试**:定义了什么是基准测试,并解释了它在大数据处理中的作用。 - **测试方法**:详细说明了几种常用...
操作系统原理是计算机科学中的一个重要领域,它研究操作系统的设计、实现、行为以及性能优化等方面的问题。在这个主题中,我们将深入探讨操作系统的基本概念、设计目标、主要功能和常见机制。 1. **操作系统概述** ...
- **SPARC 处理器**:由 Sun Microsystems 开发的一系列高性能 RISC 处理器,具有良好的性能和稳定性。 ##### 计算加速器 此外,报告还讨论了计算加速器的应用,如图形处理单元 (GPU) 和 FPGA 等技术,这些技术能够...
#### 数据架构设计方法论概述 数据架构是服务行业数字化转型的核心组成部分之一,它关乎到数据如何被收集、存储、处理和利用。一个合理有效的数据架构不仅能够帮助组织更好地管理数据资产,还能为决策提供有力支持...
#### 系统构成与设计原则 1. **构成分析**: - **模块化**:系统被划分为多个独立的功能模块,每个模块负责特定的任务,提高了系统的可维护性和扩展性。 - **层次化**:不同功能模块按照其功能的重要性进行分层,...
8. **分布式与网络操作系统** - 分布式系统:跨越多个网络节点的资源和计算能力的集成。 - 网络操作系统:支持网络通信和资源共享,如Windows Server、Linux服务器等。 9. **安全性与容错** - 访问控制:防止...
概述对整个系统的架构给出一个宏观的视图,逻辑设计则关注系统的功能模块划分和它们之间的关系,而物理设计则涉及硬件资源分配、网络布局以及服务器部署等实际实施细节。 5. 子系统的结构与功能章节,是设计说明书...
#### 一、操作系统概述 **1. 操作系统的定义:** 计算机操作系统是一种系统软件,它的主要功能是管理和控制计算机系统的软硬件资源,为用户提供友好的界面,使用户能够高效地使用计算机。 **2. 操作系统的主要类型...
- **并行与分布式计算(PD)**:涉及并行算法和分布式系统的原理与设计。 - **编程语言(PL)**:介绍编程语言的分类、语法、语义等基础知识。 - **软件开发基础(SDF)**:讲述软件工程的基本概念,包括需求分析、...