首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
OPPO Watch
liudaqi
V2EX  ›  问与答

分布式可以完全去中心吗?

  •  
  •   liudaqi · 52 天前 · 2459 次点击
    这是一个创建于 52 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在的分布式存储、分布式计算,其实都还有一个调度中心、注册中心这样的机制在协调所有的节点,状态监控等等。

    如果这个调度中心宕机了,还是会导致整个分布式系统彻底挂掉啊
    31 条回复    2020-04-08 09:26:07 +08:00
    cmdOptionKana
        1
    cmdOptionKana   52 天前
    多中心
    opengps
        2
    opengps   52 天前 via Android
    调度中心为了不当机,本身会做成副本多活的,如果都挂了显然系统也会挂
    liudaqi
        3
    liudaqi   52 天前
    @cmdOptionKana 多中心的实现,也需要有一个更上一层的均衡系统吧
    liudaqi
        4
    liudaqi   52 天前
    @opengps 副本多活之间是怎么协调谁主谁备?主挂了什么时候顶上,是不是还要再套一层监控?
    jie170601
        5
    jie170601   52 天前 via Android
    在客户端中预设好几个中心,一个连不上连另一个呢,类似区块链的种子节点,web 服务没想到啥好办法,
    opengps
        6
    opengps   52 天前 via Android   ❤️ 1
    @liudaqi 说白了无论如何都需要一个总入口,这个入口:
    要么在网络负载均衡处,
    要么在 dns 负载均衡处。

    然后才是带有主备属性的中心服务,一般来说备节点都是只同步但不工作的
    des
        7
    des   52 天前 via Android   ❤️ 1
    参考一下 dht
    lyog
        8
    lyog   52 天前 via iPhone
    @liudaqi 现在的架构就是去中心化的,你的理解有误。可以了解下 zk 的选举制度,并不是非得有上一级才能协调主备
    laobingge
        9
    laobingge   52 天前 via Android
    可以借鉴区块链的机制,技术上是可以做到的,就是每个节点都有全部信息的副本,虽然更加安全可靠,但这样会降低效率和增加成本,尤其当节点数量越来越多的时候。

    因此,集中还是分布,没有绝对的优劣,更多是种平衡,不同阶段两者的比例需要做相应的调整。
    lhx2008
        10
    lhx2008   52 天前 via Android
    调度中心就是 zk 这种嘛,出问题了的话,业务会有影响,但是也可以在业务侧做一些保护措施,包括缓存的机制。

    然后 zk 本身是多点的,稳一点肯定是同城异地的多个副本,全部挂掉的几率比较小

    完全无中心也是有的,就是一种无主的策略,比如区块链,或者其他一些比较高效的共识算法来做,但是最大的问题是冲突是基本上必然发生的。
    lhx2008
        11
    lhx2008   52 天前
    @lhx2008 #10 比如 Cassandra,但是我对这个还不是太了解
    liudaqi
        12
    liudaqi   52 天前   ❤️ 1
    @jie170601 是的,区块链里维护了一些核心 ip 列表,web 没有客户端就不好实现了

    @des 大致看了下 dht,还是要在一个协调系统内部才能运作

    @lyog ZooKeeper 选举机制还是解决的内部问题,这和区块链的思路本质上是一致的(只是选举的策略不同)?

    @laobingge 也觉得区块链的分布式,是牺牲了效率换来的。
    @lhx2008 区块链也不算完全无中心,毕竟还是维护了一些核心 ip 吧,当然最核心 50%算力策略当然理论上是公平的。
    nicebird
        13
    nicebird   52 天前
    无主可以做,太麻烦。所以选择有主+选举。
    Takuron
        14
    Takuron   52 天前 via Android
    应该说分布式的目的是去中心化,一个真正意义上的分布式系统是还剩一个机器都能运转的。
    但这是理想情况,真正意义上的去中心化会造成浪费(看看隔壁的虚拟货币),所以实际过程中大家都不太愿意做成真正的“去中心化”
    tms
        15
    tms   52 天前
    我理解是由于成本和效率的考量,真正的完全去中心化没太有必要。只要把挂掉的概率降低到可容忍水平就行了。
    optional
        16
    optional   52 天前 via iPhone
    无中心的也有啊 ,基于 gossip 协议的分布式
    passerbytiny
        17
    passerbytiny   52 天前 via Android
    出于负载均衡或业务分析的目的,把集中在一起的任务(横向或纵向)拆分成多个分离的任务,这才是分布式,去中心化既不是分布式的目的,也不是它的手段。去中心化是为了更进一步的负载均衡或高可用性,分布式是它的必要条件。
    legiorange
        18
    legiorange   52 天前
    服务治理基本上是去中心化,说白了也就是多中心,单一职责。

    通过运维框架监控这些中心,横向纵向拓展,多模式发布,你这个肯定就解决了。

    另外区块链这一套明显不适用绝大多数场景,节点多了,每个节点需要同步,压力很大。
    also24
        19
    also24   52 天前 via Android
    楼主可以了解一下 CAP 原则
    GrayXu
        20
    GrayXu   52 天前
    可以重新选举呀,本质上就实现了无需指定中心的目的
    HunterPan
        21
    HunterPan   52 天前
    现在大公司几乎都是多中心 主主互备
    ArJun
        22
    ArJun   52 天前
    区块链吧
    wangkun025
        23
    wangkun025   52 天前
    我一直觉得比特币就是。
    silenzio
        24
    silenzio   52 天前
    正好在做 p2p 网络, 说下个人理解

    首先要明确"去中心"要去到什么程度
    100 个节点组成的网络, 只有一个调度服务器, 它挂了, 网络瘫痪, 那这个调度服务器就是中心, 就没有实现去中心化
    如果有 5 台调度服务器, 占了整个网络的 5%, 它就不再是中心了, 也就是去中心化
    5 台调度服务器, 用 etcd (k8s)做主备
    数据库, 自带主备
    网关, 前面有 nginx, nginx 自带
    p2p 网络, 跟调度服务器一样, 100 个节点的网络配置 5 个种子节点, 去中心化

    你说万一 5 个都挂了怎么办?
    第一 配置看门狗尝试自动恢复
    第二 5 个节点都挂了 运维都没反应过来 可以开除了好吧
    victor97
        25
    victor97   52 天前 via Android
    核心也是去中心化的,也就是分布式的一致性服务 /协议。例如 etcd,zookeeper
    andylsr
        26
    andylsr   52 天前 via Android
    完全去中心并不是不行,只是网络数据同步会产生数据洪流,然后就变成可用性和一致性的取舍问题,cassandra 是个好东西
    lty1993
        27
    lty1993   52 天前
    @opengps 网络负载均衡可以 Anycast,不过端到端的 HA 实现成本还是太高了,根据实际业务需要去决定到底怎么实现吧
    vindurriel
        28
    vindurriel   52 天前 via iPhone
    调度中心本身可以多活 基于 raft 等协议 参考 zookeeper 和 etcd 的实现 不过这样的系统很慢 CAP 原则里选了 C 而不是 A
    twl007
        29
    twl007   52 天前 via iPhone
    Ceph 设计去中心化的 但是你看看 trade off 我并不觉得某些场景下去中心化是个好选择
    mumbler
        30
    mumbler   52 天前 via Android
    中心化是为了效率,比特币就完全去中心化,每小时全球最多交易 90 个,银行体系则无上限
    zhchyu999
        31
    zhchyu999   51 天前
    分布式和一致性是两个方向啊
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1795 人在线   最高记录 5168   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 17:19 · PVG 01:19 · LAX 10:19 · JFK 13:19
    ♥ Do have faith in what you're doing.