在IDF05(Intel Developer Forum 2005)上,Intel首席执行官Craig Barrett就取消4GHz芯片计划一事,半开玩笑当众单膝下跪致歉,给广大软件开发者一个明显的信号,单纯依靠垂直提升硬件性能来提高系统性能的时代已结束,分布式开发的时代实际上早已悄悄地成为了时代的主流,吵得很热的云计算实际上只是包装在分布式之外的商业概念,很多开发者(包括我)都想加入研究云计算这个潮流,在google上通过“云计算”这个关键词来查询资料,查到的都是些概念性或商业性的宣传资料,其实真正需要深入的还是那个早以被人熟知的概念------分布式。
分布式可繁也可以简,最简单的分布式就是大家最常用的,在负载均衡服务器后加一堆web服务器,然后在上面搞一个缓存服务器来保存临时状态,后面共享一个数据库,其实很多号称分布式专家的人也就停留于此,大致结构如下图所示:
这种环境下真正进行分布式的只是web server而已,并且web server之间没有任何联系,所以结构和实现都非常简单。
有些情况下,对分布式的需求就没这么简单,在每个环节上都有分布式的需求,比如Load Balance、DB、Cache和文件等等,并且当分布式节点之间有关联时,还得考虑之间的通讯,另外,节点非常多的时候,得有监控和管理来支撑。这样看起来,分布式是一个非常庞大的体系,只不过你可以根据具体需求进行适当地裁剪。按照最完备的分布式体系来看,可以由以下模块组成:
分布式任务处理服务:负责具体的业务逻辑处理
分布式节点注册和查询:负责管理所有分布式节点的命名和物理信息的注册与查询,是节点之间联系的桥梁
分布式DB:分布式结构化数据存取
分布式Cache:分布式缓存数据(非持久化)存取
分布式文件:分布式文件存取
网络通信:节点之间的网络数据通信
监控管理:搜集、监控和诊断所有节点运行状态
分布式编程语言:用于分布式环境下的专有编程语言,比如Elang、Scala
分布式算法:为解决分布式环境下一些特有问题的算法,比如解决一致性问题的Paxos算法
因此,若要深入研究云计算和分布式,就得深入研究以上领域,而这些领域每一块的水都很深,都需要很底层的知识和技术来支撑,所以说,对于想提升技术的开发者来说,以分布式来作为切入点是非常好的,可以以此为线索,探索计算机世界的各个角落。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/cutesource/archive/2010/08/14/5811914.aspx
- 大小: 41.8 KB
- 大小: 29 KB
分享到:
相关推荐
纯干货技术分享:分布式设计与开发
【分布式设计与开发基础】 分布式设计与开发是现代软件系统中的关键组成部分,特别是在高可用性、高并发和大规模数据处理的场景下。本篇将探讨几种必须了解的分布式算法,这些算法是解决分布式环境中一致性问题的...
分布式设计与开发是现代互联网架构中的重要组成部分,它允许我们将大型复杂系统分解为多个相互协作的独立服务。在这个系列的第一部分,我们将重点关注Zookeeper——一个广泛使用的分布式协调服务。Zookeeper由Apache...
java毕业设计大型分布式电商系统开发(源码)java毕业设计大型分布式电商系统开发(源码)java毕业设计大型分布式电商系统开发(源码)java毕业设计大型分布式电商系统开发(源码)java毕业设计大型分布式电商系统...
分享一套Java分布式视频教程——《2022全新版-Java分布式架构设计与开发实战》。2022年7月完结新课,课程一共13章,提供配套的源码下载! 分布式架构是大型项目必用的架构方式,也是云原生、Serverless等新兴技术的...
Java分布式架构设计实战...这套课程以实践为主,结合理论知识,通过具体项目实例,帮助开发者全面掌握Java分布式架构的设计与开发,无论是初学者还是有经验的开发者,都能从中获益。配合提供的源码下载,学习效果更佳。
"分布式系统概念与设计" 通过对分布式系统概念与设计的研究,我们可以了解到,分布式系统是一种复杂的系统,它由多个计算机节点组成,每个节点可以进行计算、存储和通信。这种系统可以提供高可用性、可扩展性和灵活...
随着信息技术的快速发展与网络技术的不断进步,分布式应用开发技术已成为构建现代软件系统不可或缺的一部分。特别是在开发大型分布式应用系统时,这些技术展现了其强大的生命力与灵活性。本文将对目前最具代表性的三...
平台的开发与运行环境包括具备一定配置的PC硬件、VS2017开发软件、Microsoft SQL Server 2008 R2数据库以及Windows Server 2003操作系统和IIS 6.0以上版本的Web服务器。客户端使用IE 9以上的浏览器。 平台的开发...
该文主要分析了传统网站开发架构设计与分布式网站开发架构设计的差异,并提出了分布式设计的可行性和优势。 首先,传统网站开发架构设计在历史上具有积极意义,它推动了网络技术的普及和应用,对社会发展起到了不容...
这样的架构设计使得界面开发变得更加简单,同时保证了业务逻辑实现的健壮性和高效性。 #### 二、分布式数据服务 在分布式日历应用中,数据服务是非常关键的一环,它涉及到了数据的存储、同步以及安全性等多个方面...
中间件可以充当上层应用软件和下层的操作系统、网络及数据库之间的桥梁,为上层提供开发与运行的环境,为下层提供管理服务器和数据库的资源以及网络通讯服务,同时还可以帮助开发人员灵活、高效地开发和集成各种大型...
分布式系统设计是现代互联网服务和企业级应用的核心技术之一,它涉及到多个计算机节点通过网络进行协同工作,共同处理任务和数据。在这个领域,我们需要深入理解并掌握一系列关键知识点,以构建高效、可扩展且容错的...
这份“分布式系统 概念与设计 习题答案(完整版)”涵盖了该领域的核心概念、设计原则以及常见问题的解决方案。 分布式系统的主要目标包括提高可用性、可扩展性、性能和容错能力。以下是一些关键知识点: 1. ...
分布式数据库设计与实现是当前大数据时代的关键技术之一,它涉及到如何在多个计算机节点上分散存储和处理数据,以实现高可用性、可扩展性和性能优化。在这个主题中,我们将深入探讨分布式数据库的核心概念、设计原则...
- **服务器端编程专用函数**:用于服务端组件的开发与管理,如组件注册、状态监控等。 - **客户端编程专用函数**:用于客户端与服务端通信,如建立连接、调用服务端方法等。 - **分布式数据交互流程**:通过特定函数...
- **容错与恢复**:设计健壮的错误处理机制,确保系统在部分节点故障时仍能正常运行。 - **负载均衡**:在多服务器环境下,实现负载均衡以提高整体性能。 - **版本控制与兼容性**:确保不同版本的组件间能够正确交互...
分布式微服务课程的开发研究,其目的在于培养计算机网络技术专业的学生具备Java Web开发与应用所需的技能。通过这样的课程学习,学生们可以掌握在企业级项目中实施微服务架构时的必要知识和技能。 Spring Cloud是...
【分布式程序设计实验平台的设计与应用】 随着计算机技术的飞速发展,分布式系统已经成为现代软件开发的重要组成部分。针对传统程序设计课程中存在的一些问题,如基本技能训练不足、学生之间代码抄袭现象严重等,...