一.P2P
cs构架的问题:负载(If too many users access the server/s at the same time, such architecture can suffer from network overload problem.(slow down, long Queues, carsh)同时太多的用户访问服务器就会影响服务器性能)
定义:计算任务由多个节点协同完成,而不是依赖于一个中心节点或服务器。 每个节点都可以提供计算资源和存储资源,并且可以与其他节点进行直接通信,从而形成一个点对点(P2P)网络 (sharing of resources and services by direct exchange between computer systems(peers) without requiring separate server.)
在P2P里面的任何一个电脑都是resource的提供者并且还可以同时作为客户端
好处:1.Decentralised(connect and communicate directly with each other without going through central servers.) 2.Easily expandable 3.robust and good fault-tolerance (Because services are distributed across many nodes (节点), fault of some computers will have little affect on the whole system.) 4. good privacy protection(因为信息不通过中心服务器,追踪用户个人信息就很困难)5.Efficiency(support large-scale computing and data storage)
坏处:1.locating and finding files 2.security(对于个人文件安全性较差) 3.backup recovery(备份对p2p很麻烦)4.virus attacks(P2P更容易被malware 和virus 攻击)
应用:Napster, Skype, WhatsApp, Gnutella, eDonkey, BitTorrent
Napster---music file sharing,hybrid混合 system
- Napster relies on a central index of files available for download
- 流程:用户进入---向用户发送可以分享的文件的索引---用户选择---服务器响应给出特定的节点---用户直接和节点进行文件传输
Gnutella---first decentralised peer-to-peer network
- 没有中心服务器,搜索特定节点方式:flooding(sending messages to many peers)----但是flooding消耗带宽,some ISP companies hate it!
- Discovering peers---Ping Pong: 1.join the network 2.看谁在这个网络里(发送“ping”包向网络中宣布你的存在---其他节点会回复一个“Pong”包并转发你的ping包给其他连接的节点)
- pong包:IP address+port number +sharing data
二.云计算
Cloud computing is a model for enabling convenient, on-demand network access to a shared pool of configurable computing resources that can be rapidly provisioned (供应) and released with minimal management effort or service provider interaction.云计算服务就是让计算、存储、网络、数据、算法、应用等软硬件资源像电一样,随时随地、即插即用。
云的服务类型:
- Provisioning level(服务类型):
- 1.Iaas(Infrastructure as a Service)把IT系统的基础设施层作为服务出租出去,对外出租硬件服务器,虚拟主机,存储或者网络设备等,云服务提供商负责管理机房基础设施、计算机网络、磁盘柜、服务器和虚拟机,租户自己安装和管理操作系统、数据库、中间件、应用软件和数据信息,用户可以在此基础架构上运行选择的操作系统和应用程序软件。(硬件方面+OS)
- 2.PaaS(Platform as a Service) IT 系统中的平台软件层作为服务出租出去,消费者自己开发或者安装程序,并运行程序。大多数PaaS供应商都可以提供比传统编程工具更易于使用的JavaScript、Adobe Flex 和 Flash等工具。用户不必拥有或控制开发环境,但却能真正地控制他们在其中开发和部署的应用程序。EG使用场景:数据库,开发和测试平台,软件集成平台,应用软件部署
- 3.SaaS(Software as a Service)云服务提供商把 IT 系统的应用软件层作为服务出租出去,而消费者可以使用任何云终端设备接入计算机网络,然后通过网页浏览器或者编程接口使用云端的软件。【类似于幕布或者是线上协作软件】用户不必购买并在自己的计算机或设备上安装、更新和管理这些资源,而可以通过 Web 浏览器访问并使用它们。 EG应用:电子邮件,在线办公软件,在线翻译
部署模型:public(第三方提供服务给所有公众),private(企业或组织自己使用),hybrid【Multi-cloud (多云), federated cloud (联合云)】
三.雾计算
更靠近边缘
好处:1.将云拓展至网络边缘 2.Enhance delivery of current applications and services.(提升了应用和服务的运输) 3.支持新一代上下文驱动的应用程序和服务。文章来源:https://www.toymoban.com/news/detail-787585.html
应用实例:traffic control& Autonomous vehicles文章来源地址https://www.toymoban.com/news/detail-787585.html
到了这里,关于分布式系统之P2P,云计算,雾计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!