1
cmdOptionKana 2020-04-07 12:31:42 +08:00
多中心
|
2
opengps 2020-04-07 12:33:16 +08:00 via Android
调度中心为了不当机,本身会做成副本多活的,如果都挂了显然系统也会挂
|
3
liudaqi OP @cmdOptionKana 多中心的实现,也需要有一个更上一层的均衡系统吧
|
5
jie170601 2020-04-07 12:42:02 +08:00 via Android
在客户端中预设好几个中心,一个连不上连另一个呢,类似区块链的种子节点,web 服务没想到啥好办法,
|
6
opengps 2020-04-07 12:42:23 +08:00 via Android 1
|
7
des 2020-04-07 12:45:12 +08:00 via Android 1
参考一下 dht
|
8
lyog 2020-04-07 12:51:13 +08:00 via iPhone 1
@liudaqi 现在的架构就是去中心化的,你的理解有误。可以了解下 zk 的选举制度,并不是非得有上一级才能协调主备
|
9
laobingge 2020-04-07 13:03:26 +08:00 via Android
可以借鉴区块链的机制,技术上是可以做到的,就是每个节点都有全部信息的副本,虽然更加安全可靠,但这样会降低效率和增加成本,尤其当节点数量越来越多的时候。
因此,集中还是分布,没有绝对的优劣,更多是种平衡,不同阶段两者的比例需要做相应的调整。 |
10
lhx2008 2020-04-07 13:12:00 +08:00 via Android 1
调度中心就是 zk 这种嘛,出问题了的话,业务会有影响,但是也可以在业务侧做一些保护措施,包括缓存的机制。
然后 zk 本身是多点的,稳一点肯定是同城异地的多个副本,全部挂掉的几率比较小 完全无中心也是有的,就是一种无主的策略,比如区块链,或者其他一些比较高效的共识算法来做,但是最大的问题是冲突是基本上必然发生的。 |
12
liudaqi OP |
13
nicebird 2020-04-07 15:57:46 +08:00
无主可以做,太麻烦。所以选择有主+选举。
|
14
Takuron 2020-04-07 16:01:06 +08:00 via Android
应该说分布式的目的是去中心化,一个真正意义上的分布式系统是还剩一个机器都能运转的。
但这是理想情况,真正意义上的去中心化会造成浪费(看看隔壁的虚拟货币),所以实际过程中大家都不太愿意做成真正的“去中心化” |
15
tms 2020-04-07 16:34:40 +08:00
我理解是由于成本和效率的考量,真正的完全去中心化没太有必要。只要把挂掉的概率降低到可容忍水平就行了。
|
16
optional 2020-04-07 16:37:29 +08:00 via iPhone
无中心的也有啊 ,基于 gossip 协议的分布式
|
17
passerbytiny 2020-04-07 17:04:41 +08:00 via Android
出于负载均衡或业务分析的目的,把集中在一起的任务(横向或纵向)拆分成多个分离的任务,这才是分布式,去中心化既不是分布式的目的,也不是它的手段。去中心化是为了更进一步的负载均衡或高可用性,分布式是它的必要条件。
|
18
legiorange 2020-04-07 17:48:43 +08:00
服务治理基本上是去中心化,说白了也就是多中心,单一职责。
通过运维框架监控这些中心,横向纵向拓展,多模式发布,你这个肯定就解决了。 另外区块链这一套明显不适用绝大多数场景,节点多了,每个节点需要同步,压力很大。 |
19
also24 2020-04-07 17:51:09 +08:00 via Android
楼主可以了解一下 CAP 原则
|
20
GrayXu 2020-04-07 18:00:49 +08:00
可以重新选举呀,本质上就实现了无需指定中心的目的
|
21
HunterPan 2020-04-07 18:03:07 +08:00
现在大公司几乎都是多中心 主主互备
|
22
ArJun 2020-04-07 18:07:12 +08:00
区块链吧
|
23
wangkun025 2020-04-07 18:09:48 +08:00
我一直觉得比特币就是。
|
24
silenzio 2020-04-07 19:02:54 +08:00
正好在做 p2p 网络, 说下个人理解
首先要明确"去中心"要去到什么程度 100 个节点组成的网络, 只有一个调度服务器, 它挂了, 网络瘫痪, 那这个调度服务器就是中心, 就没有实现去中心化 如果有 5 台调度服务器, 占了整个网络的 5%, 它就不再是中心了, 也就是去中心化 5 台调度服务器, 用 etcd (k8s)做主备 数据库, 自带主备 网关, 前面有 nginx, nginx 自带 p2p 网络, 跟调度服务器一样, 100 个节点的网络配置 5 个种子节点, 去中心化 你说万一 5 个都挂了怎么办? 第一 配置看门狗尝试自动恢复 第二 5 个节点都挂了 运维都没反应过来 可以开除了好吧 |
25
victor97 2020-04-07 19:15:39 +08:00 via Android
核心也是去中心化的,也就是分布式的一致性服务 /协议。例如 etcd,zookeeper
|
26
andylsr 2020-04-07 19:27:14 +08:00 via Android
完全去中心并不是不行,只是网络数据同步会产生数据洪流,然后就变成可用性和一致性的取舍问题,cassandra 是个好东西
|
27
lty1993 2020-04-07 19:32:26 +08:00
@opengps 网络负载均衡可以 Anycast,不过端到端的 HA 实现成本还是太高了,根据实际业务需要去决定到底怎么实现吧
|
28
vindurriel 2020-04-07 21:01:20 +08:00 via iPhone
调度中心本身可以多活 基于 raft 等协议 参考 zookeeper 和 etcd 的实现 不过这样的系统很慢 CAP 原则里选了 C 而不是 A
|
29
twl007 2020-04-07 21:02:46 +08:00 via iPhone
Ceph 设计去中心化的 但是你看看 trade off 我并不觉得某些场景下去中心化是个好选择
|
30
mumbler 2020-04-07 21:14:21 +08:00 via Android
中心化是为了效率,比特币就完全去中心化,每小时全球最多交易 90 个,银行体系则无上限
|
31
zhchyu999 2020-04-08 09:26:07 +08:00
分布式和一致性是两个方向啊
|