web2.0随想:p2p、草根、跑马圈地与早起的鸟儿有虫吃

2024-01-07 07:32

本文主要是介绍web2.0随想:p2p、草根、跑马圈地与早起的鸟儿有虫吃,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

(注:本人对web2.0这个词非常的不感冒,在几个月前就已经想写文章骂它了。不过现在看网上的文章,这个词风头已过,已经是人人喊打的年代了,所以也就懒得骂它,也敢在题目中用它了)

众多的p2p系统设计者都没有充分注意到,p2p系统一个天生的缺陷:
每个peer的力量都是很小、有很多缺陷的。
一个peer就是用户的一台pc。它的上传带宽往往很有限。它的性能往往不佳。
它往往不稳定。它经常关机。
主人经常很懒,几个月不更新内容。

这,就是为什么我对qq等"点对点"地共享目录的功能不感冒的原因:
相对于服务器提供存储空间的系统来说,这样的“点对点”系统有着数不清的缺点。
即使它能穿透局域网那又怎么样?
它的下载速度永远如蜗牛一样,还是一只脆弱的蜗牛,经常掉线的蜗牛。


万幸的是,单个peer的力量虽然小,peer的数量却是非常多的。
众人拾柴火焰高,众多的peer联合起来,系统的性能就容易超过中心服务器的模式了。

BT就是一个活生生的例子。
许多人把BT说成是点对点文件交换软件,大错特错了!
BT下载一般都不是点对点的,而是“多点对多点”的。
BT客户端下载文件时, 能从多个点那里同时下载文件。
这才是它快速下载的原因,也是它实现“下载人数越多,速度越快”的秘密所在。
要是真的是“点对点”文件传输,凭共享者那么一点点带宽,下载速度将会低得可怜。

所以,要设计p2p系统,一定要充分利用“人多力量大”这个原理。
单个peer的力量微不足道,是不能吸引人的。人多了才有力量,才能吸引人。
所以,p2p文件共享系统一定要与分布式下载、分布式储存等等机制结合起来。
BT如此,eMule也是如此,甚至Naspter也是如此。

所谓人多力量大,不仅仅是说下载速度。还有其它的,例如内容的编辑。
任何单个用户都不能编辑出一本百科全书来,wiki集中了众多用户的力量,却能成就这一事业。
任何一个用户都远远不如狄德罗,但wiki却比狄德罗的百科全书牛b得多。

del.icio.us也是如此。
bloglines也是如此。
每个用户贡献一点点内容,结果就是汪洋大海般的内容。
任何一个人不小心接近了这个系统,都能被这个汪洋大海淹死。

广义来说,google也是集中了众多网站的力量。
阿里巴巴和淘宝是集中了众多商家的力量。
blog是集中了众多写手的力量。
flickr是集中了众多摄影爱好者的力量。

这是一个草根们抱成一团的时代。这是一个活生生演绎1+1〉2的故事的年代。
这是一个编写出了系统就不用害怕没有内容的年代。这是一个跑马圈地的年代。

为什么说这是跑马圈地的年代?
人类的需要是有限的,爱好也是有限的。
人以群分,但这个“群”的数目是有限的。
也就是说,p2p的应用是有限的。

QQ就是一个明证。QQ的巨大粘性使得它无论多难用,竞争对手都很难和它抢夺用户。
因为QQ已经第一个圈住了网络聊天这块地,别人是没法进来 的。
从前我们总是说先行者往往要变成先烈,因为大公司很轻易就能抢夺小公司的创意。
如今看来事情可能有所变化。
第一个跑马的人就能圈住土地,就能在这块土 地上做土皇帝,就能吃香的喝辣的。

所以说这是一个跑马圈地的年代。
所以说为什么这个年代的人都抛弃了“枪打出头鸟”的祖训,
不约而同地捡起了“早起的鸟儿有虫吃”这句西方谚语。
是啊,世界那么大,还没有人去称王呢,只要跑过去圈一块地,那么你就是王了,何乐而不为?

skymountain,2005-12-15,于深圳

这篇关于web2.0随想:p2p、草根、跑马圈地与早起的鸟儿有虫吃的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/579175

相关文章

区块链-P2P(八)

前言 P2P网络(Peer-to-Peer Network)是一种点对点的网络结构,它没有中心化的服务器或者管理者,所有节点都是平等的。在P2P网络中,每个节点都可以既是客户端也是服务端,这种网络结构的优点是去中心化、可扩展性强、抗攻击性强等。 1:P2P网络的优点 区块链 P2P 网络的优点有: 去中心化:没有中心化的服务器或者管理者,所有节点都是平等的。 高可用性:由于没有单点故障,所以

p2p、分布式,区块链笔记: Merkle-DAG和Merkle-Tree的区别与联系

Merkle-DAG和Merkle-Tree的区别与联系 结构: Merkle-Tree 是一种二叉树结构,每个非叶子节点是其子节点哈希的哈希。它具有层次结构,通常用于验证数据的完整性。Merkle-DAG(有向无环图)是一种更通用的图结构,其一个节点可以有多个父节点和子节点。它允许更复杂的链接关系和非线性结构,适用于记录和追踪变更,支持广泛的并行操作和高效的增量更新。Merkle DAG 类

p2p、分布式,区块链笔记:基于IPFS实现的数据库orbitdb笔记

orbitdb orbitdb :Peer-to-Peer Databases for the Decentralized Web 特性说明特点无服务器、分布式、p2p编程语言JavaScript对其他语言的支持A python client for the Orbitdb HTTP API,go-orbit-db, 让我们了解一下谁在使用 js-ipfs!是否为区块链不是区块链。使用强最终一

如何在Geth中搭建P2P多节点以太坊私链:详细教程与实操步骤

系列文章目录 geth以太坊私链开发模式🚪 geth以太坊私链P2P模式🚪 文章目录 系列文章目录前言一、P2P 多节点模式与开发模式的区别二、下载geth以太坊客户端三、私链配置3.1 生成创世文件3.2 引导结点配置3.3 成员结点配置3.4 连接两个结点3.4.1 获取引导结点的Enode信息3.4.2 连接成员结点到引导结点3.4.3 验证连接3.4.4 同步和挖矿 总

p2p、分布式,区块链笔记: IPFS库Helia的文件系统Unix File System (UnixFS)

Unix File System (UnixFS) Helia中定义一个UnixFS类用于文件处理。The Unix File System (UnixFS) is the data format used to represent files and all their links and metadata in IPFS.。UnixFS中的方法封装了常见的文件系统操作,使得在去中心化文件系统

libjingle 部分(P2P传输)

1, libjing 基本结构。 下图仅描述视频部分的传输,音频部分有所不同,但是基本结构类似。图中虚线表示媒体数据流向。 VideoCapture: 视频捕捉功能抽象, 通过SignalVideoFrame信号传输捕捉的Frame数据。 MediaChannel: 媒体相关功能的抽象,接收capture/network的数据,处理后发送给其他模块。实际的处理工作需要有继承类调用其他模块实现

代码随想三刷回溯篇2

代码随想三刷回溯篇2 39. 组合总和题目代码 40. 组合总和 II题目代码 131. 分割回文串题目代码 93. 复原 IP 地址题目代码 78. 子集题目代码 39. 组合总和 题目 链接 代码 class Solution {public List<List<Integer>> combinationSum(int[] candidates

罗超:Rust p2p框架简介

开始讲秘猿为什么需要自己写这个p2p库。 库的特性。 架构 封装的方式 加密层 多路复用层 p2p层

代码随想三刷二叉树篇4

代码随想三刷二叉树篇4 617. 合并二叉树题目代码 700. 二叉搜索树中的搜索题目代码 98. 验证二叉搜索树题目代码 530. 二叉搜索树的最小绝对差题目代码 501. 二叉搜索树中的众数题目代码 236. 二叉树的最近公共祖先题目代码 617. 合并二叉树 题目 链接 代码 /*** Definition for a binary tree node.* publ

代码随想三刷二叉树篇1

代码随想三刷二叉树篇1 144. 二叉树的前序遍历题目代码 145. 二叉树的后序遍历题目代码 94. 二叉树的中序遍历题目代码 102. 二叉树的层序遍历题目代码 107. 二叉树的层序遍历 II题目代码 199. 二叉树的右视图题目代码 637. 二叉树的层平均值题目代码 515. 在每个树行中找最大值题目代码 104. 二叉树的最大深度题目代码 111. 二叉树的最小深度题目代码 22