zoukankan      html  css  js  c++  java
  • skynet通信模式的思考与扩展

    skynet提供服务的方式是基于harbor间通信来完成,在skynet的配置文件中有一个harbor参数,这个参数我原来以为是用来控制一个master集群可以启动多少个harbor结点的,一次写demo的过程中,发现skynet.send无法调用另一个harbor的服务,总是报告drop message,检查之后才发现是因为它们在config配置里,属于同一个harbor,才明白这个参数是配置harbor id的,这样的设计认为还是有一点问题,如果harbor太多了,可能会忘记现在已经起到了多少个harbor,现在的设计是如果harbor_id冲突,就会以最后起动那个harbor为准

    下图是一个harbor集群,skynet的网络拓扑图,这种拓扑方式的特点是每一个harbor都对应着一台真实的机器,我把它称作实harbor

    image   image

    实harbor可以扩展为虚harbo,这样一个harbor并不与一台真实的机器对应而是每一个harbor就是一个集群中,每一个harbor集群下挂着多个结点,每个结点再提供不同的服务,skynet的特点并不会因为它们起的是同一个harbor而就会提供相同的服务,因为服务的入口点是在config中配置的,下图是虚harbor拓扑图

    image

    master间通信。现在的skynet是在同一个master间通信,可以把它扩展为多个master间通信,有这样一种应用场景,每一个master都专注于提供一类服务,这个服务的完成依赖于其集群中的多个harbor完成,这个时候一个master有需要调用另外一个master提供的服务

    上面只是一些对skynet的想法,具体实现以后再上代码吧

  • 相关阅读:
    DAY1 linux 50条命令
    安卓2.0,3.0,4.0的差别
    java历史
    晶体管共射极单管放大电路
    jquery取消选择select下拉框
    oarcle数据库导入导出,创建表空间
    360chrome,google chrome浏览器使用jquery.ajax加载本地html文件
    jquery 选择器
    nodejs 相关
    关于http请求
  • 原文地址:https://www.cnblogs.com/BlankEye/p/2834998.html
Copyright © 2011-2022 走看看