P2P和CS架构

P2P架构(Peer to Peer)
特点
1、没有服务器
2、任意端系统直接通信
3、节点阶段性接入internet
4、节点可能更换ip地址

优缺点:
优点:动态和随机性
缺点:难以管理

P2P和CS进行文件分发的比较: 当文件数增多时,P2P更具优势
在这里插入图片描述
CS: 时间随N线性增长
在这里插入图片描述
P2P架构:服务器至少发送一个副本到互联网,时间F/u_s,客户机下载时间不变
在这里插入图片描述
时间趋势:
在这里插入图片描述

BitTorrent协议: P2P架构
torrent:交换同一个文件块的结点会形成一个组,称作torrent;
每个torrent有一个tracker,负责跟踪参与torrent的结点
下载过程:
(1)向tracker查询有哪些结点,获取结点列表
(2)和其他主机建立TCP连接,同时也会加入torrent
上传速率高,能够找到更好的交易伙伴,能够更快的获取文件

P2P索引:
索引:信息到节点位置 (IP地址+端口号)的映射
手机qq中索引的作用:
负责把用户名映射到位置
当用户开启IM应用时,需要通知索引的位置
节点检索索引,确定用户的ip地址
集中式索引
节点加入,会将内容和ip地址在中央服务器报道,用户查找内容时中央服务器返回内容所在的位置。
缺点:单点失效问题,性能瓶颈,版权问题

分布式索引:
每个节点只对自己的文件建立索引。
洪泛式查询:由于没有集中索引,因此查询消息顺着TCP连接依次发送,任何收到查询消息的节点都继续转发,如果查询命中,则顺着反向路径返回查询节点。
缺点:查询消息向洪水一样在网络中泛滥,增加网络负担

层次式覆盖网络,介于集中式和分布式之间:
节点分为超级节点普通节点,超级节点负责统计普通节点的内容,建立索引,普通节点和超级节点维持TCP连接,某些超级节点维持TCP连接。
举例:Skype
常规的客户端是普通节点,索引分布在超级节点上
在这里插入图片描述

### 其他系统架构类型 除了浏览器/服务器 (B/S) 客户端/服务器 (C/S),还存在多种不同的系统架构模式,每种都有其特定的应用场景技术特点。 #### 1. 对等网络(Peer-to-Peer, P2P) 在这种结构下,所有节点都是平等的参与者,既可以作为服务提供者也可以成为请求方。这种设计减少了中心化控制的需求,并提高了系统的鲁棒性扩展能力[^1]。 #### 2. 微服务(Microservices Architecture) 微服务体系将应用程序分解成一组小型、独立的服务组件,这些服务通过定义良好的API相互通信。这种方式有助于提高开发效率服务部署灵活性,同时也便于实现持续集成与交付流程自动化[^2]。 #### 3. 面向消息中间件(Message-Oriented Middleware, MOM) MOM 架构利用异步通信机制来解耦应用之间的交互过程。它通常采用队列或者主题的方式传递数据包,在生产者消费者之间建立松散连接关系,从而增强了整个系统的可维护性伸缩性[^3]。 #### 4. 基于事件驱动(Event-driven architecture, EDA) EDA 是一种构建分布式计算环境的方法论,其中各个部分通过对发生的各种“事件”的响应来进行协作工作。此方法能够快速适应变化并支持实时处理大量并发操作[^4]。 ```python # Python伪代码展示如何监听事件触发器 def on_event_triggered(event): process_event(event) ``` #### 5. 多层架构(N-tier or Multitier Architecture) 多层架构是一种分层式的软件工程实践形式,一般分为表示层、业务逻辑层以及持久化存储层等多个层次。这样的划分可以更好地分离关注点,简化复杂度管理的同时也方便团队成员分工合作[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值