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

说明:此文章为腾讯云机器自动从本人csdn博客搬迁过来。是本人授权操作。

申明:无本人授权,不可转载本文。如有转载,本人保留追究其法律责任的权利。

龚浩华,QQ 29185807,月牙寂 道长

第一时间获取文章,可以关注本人公众号 月牙寂道长 yueyajidaozhang

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

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

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

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

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

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

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

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

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

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

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

         1)下载任务管理器,为管理者,控制任务的添加,删除等。下载任务模块,为被管理者,用于具体某个任务的下载。

              下载管理器,可以实时控制下载模块,下载模块,下载速度,下载完成等状态要向下载管理上报。

         2)下载任务模块,为管理者,控制对等peer获取,创建等。对等peer模块,为被管理者,用于具体的通信,数据交互等。

         其两个星型结构,组成了一个星型的分形结构

二、接口的定义

         1)管理者,定义一个管理者的interface,用于传递给被管理者。

         2)被管理者,定义个状态interface,用于管理者获取、控制被管理者的状态。

三、运行

         1、管理者初始化,并运行

         2、添加被管理者。

              添加时候,将管理设接口传递到被管理者。

         星型拓扑分形设计,可以归属于一种,基于职能管理划分的系统。各个职能独立,并通过接口,进行弱通信,实现了上报、管理等行为。但各个职能却又能实现松散耦合。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏网络

装逼必备:大型分布式网站术语分析

来自: 朱小厮的博客 程序猿自媒体已获转载授权 1、I/O优化 1、增加缓存,减少磁盘的访问次数。 2、优化磁盘的管理系统,设计最优的磁盘方式策略,以及磁盘的寻...

2059
来自专栏阮一峰的网络日志

Git 工作流程

Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的工作流程,让大家有效地合作,使得项目井井有条地发展下去。"工作流程"在英语里,叫做"...

36012
来自专栏wannshan(javaer,RPC)

zookeepr--概览

zk 一个分布式应用协调服务 zk是一个分布式,开源的,分布式协调服务,他提供了一组简单的原生接口,分布式应用可以基于它实现,高水准的同步,集群,配置管理和命名...

3758
来自专栏杨建荣的学习笔记

数据建模和数据映射的初步思考

今天和大家聊下关于数据建模和数据映射的事情,其实开始一个简单的项目的时候,我们的目标是很明确,而且所做的事情相对来说是比较简单的流程。

1010
来自专栏性能与架构

Facebook 直播是如何承受海量压力的?

挑战 Facebook 在 2016 年底时的月活用户数有 1860 万,Facebook live 的压力很大,有大量的人开直播,有大量的用户观看直播 整体来...

38211
来自专栏软件测试经验与教训

用例和bug描述规范参考

3255
来自专栏大数据和云计算技术

HBase 的MOB压缩分区策略介绍

HBase应用场景非常广泛;社区前面有一系列文章。大家可以到社区看看看;张少华同学本篇主要讲HBase的MOB压缩分区策略介绍,非常赞!大力推荐!

1261
来自专栏JarvanMo的IT专栏

在Android P上使用Http

不少同学在适配Android P的时候会遇到not permitted by network security policy问题:

2082
来自专栏MongoDB中文社区

MongoDB 4.0 RC 版本强势登陆

MongoDB 因其灵活的文档模型、可扩展分布式设计广受开发者喜爱,在此基础上,MongoDB 4.0 推出了更强大的功能支持,目前4.0第一个RC版本已经发布...

1112
来自专栏携程技术中心

干货 | 携程无线离线包增量更新方案实践

3223

扫码关注云+社区