Golang分布式设计模式之-----星型拓扑分形设计

本文探讨了Golang分布式设计模式中的星型拓扑分形结构,以Linux内核进程管理和P2P下载器为例。通过职能划分,形成了管理者与被管理者的关系,如下载任务管理器和下载任务模块。管理者定义接口,被管理者上报状态,实现弱通信和松散耦合。这种设计有利于系统的独立和高效管理。
摘要由CSDN通过智能技术生成

Golang分布式设计模式之-----星型拓扑分形设计

 

         上一篇分层设计中,利用了简单的流水线原理,实现了简单的状态转移的设计。如下

 

 

 

 

         这一篇我们将考虑另外一种情况。例如,linux内核中的进程管理。所有的进程都有一个父进程。当子进程正常运行时候,与父进程基本无通信。但当子进程死亡时,要通知其父进程,让父进程进行资源回收。当父进程死亡时,两种情况,子进程随着父进程一起死亡,或者将子进程交由父进程的父进程管理。类似于下图

 

 

         其中每个进程都有自己的父进程,也有可能会有自己的子进程。

 

         在这种管理中,父子关系,或者说是管理者与被管理者的关系。被管理者,可以独自运行,但要将其的一些状态告知管理者,或者管理者,可以定期获取被管理者的状态。

        

         下面以一个p2p下载器为例:

一、职能划分,形成管理者与被管理者

         1)下载任务管理器。(用于添加,删除任务,以及控制任务下载速度等一些策略管理)

         2)下载任务模块。(用于具体的单个任务下载,可以控制peer)

         3)对等peer模块。(对等交互peer通信,数据交互)

 

         在这里有两个星型拓扑模型。

         1)下载任务管理器,为管理者

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值