分布式和分布式不一样嘛?

2020-04-30 11:49:20 +08:00
 yeqizhang

继上次的“最终一致性“,我又来钻牛角尖了,总纠结于名词。

通常业务开发人员接触到分布式,网上的文章都是从单体架构演变为分布式来讲的,主要是业务上的拆分,感觉称之为分布式服务、微服务更恰当。

而还有分布式系统,例如分布式数据库,zk es,中间还有个分布式选主的问题。

是不是应该称前面为分布式服务,后面的为分布式系统,两者的“分布式“不一样呢?后者才是真正的分布式?

3849 次点击
所在节点    程序员
16 条回复
lhx2008
2020-04-30 12:20:46 +08:00
分布式只是是一种抽象,是说一个个节点之间的协作。比如公司里面有 100 个员工在做同一个项目,也可以叫分布式

系统架构的分布式,比如说微服务,解决的问题怎么统筹好各个功能组件之间的关系

单个组件内的分布式,比如说数据库,zk,es,解决的问题怎么统筹好主从节点之间的关系
opengps
2020-04-30 12:30:46 +08:00
你要区分的是,分布式和集群的概念~

分布式是纵向的,不同业务,不同层级的拆分,离谱登录服务,订单服务,数据库服务

集群是横向的,比如订单服务用了 10 台服务器或者虚拟机或者站点或者进程,做的是同一个服务
ybonfire
2020-04-30 12:35:53 +08:00
你说的将一个大的功能拆分成多个小功能这种业务上的拆分是横向上的拆分。但是一个小功能(服务)也可以有多个结点,用网关进行负载均衡。 这样也是分布式系统啊。
yeqizhang
2020-04-30 12:54:54 +08:00
@ybonfire 你和楼上说的有冲突。我觉得你说的的一个小功能多个节点,更像是集群,当然你说的可能是进一步的拆分服务拆分更多小功能。
yeqizhang
2020-04-30 12:56:07 +08:00
@opengps 那就是像 zk es 从外部来看称为集群更恰当(当然其实就是分布式数据库)?
littlewing
2020-04-30 13:11:12 +08:00
业务上所说的分布式就是把服务拆分,做负载均衡这样,大多是无状态服务
存储层面所说的分布式系统,比如分布式数据库,是基于 CAP 理论的,使用 Paxos 、raft 等一致性协议实现的,和业务上所有的分布式不一样
opengps
2020-04-30 13:18:30 +08:00
@yeqizhang 不用太纠结,很多广义定义,用分布式来表示分布式集群的概念
这个话题之前我啰嗦过几句 https://www.opengps.cn/Blog/View.aspx?id=413&from=v2ex
yeqizhang
2020-04-30 13:26:53 +08:00
@opengps 链接里面只是解释分布式和集群吧,集群也是比较像是分布式的,如果有些并发修改也是要搞分布式锁吧?之前我也到碰到集群的架构,只是简单的查询功能,最大的问题是用户 session 共享的问题。
opengps
2020-04-30 13:28:07 +08:00
@yeqizhang 任意组合,对于老站点的集群,则指责混合在一起,用户管理订单管理等等一个站点打包全带
shylockhg
2020-04-30 13:46:45 +08:00
shard
replica
Jooooooooo
2020-04-30 14:04:35 +08:00
不要纠结假大空的名词, 说具体的场景和问题
yeqizhang
2020-04-30 14:10:33 +08:00
@Jooooooooo OK,这个确实没问题。我一开始接触分布式这块在网上看到“分布式事务锁”这个名词,这个就太坑了,明明分布式事务和分布式锁是两个东西……
lenqu
2020-04-30 15:15:43 +08:00
思考一下目的,就知道意义

分布式是为了解决什么样的需求而产生呢?
guyeu
2020-04-30 15:26:23 +08:00
分布式和分布式不一样嘛

架构和架构不一样嘛

人和人不一样嘛

有啥不一样
Chinsung
2020-04-30 18:02:12 +08:00
广义的来说,分布式你可以认为就是利用大量机器,处理问题,完成任务。
不论是垂直水平,即所谓的拆业务和集群,本质是一样的。
然后分布式就是要处理,多台机器之间协同工作会发生的问题。
大多数时候对面的,都是一致性问题的取舍,分布式锁,中心,负载均衡。
至于你所谓的分布式数据库,分布式缓存,分布式文件系统,其实大家都是一样的,本质和目的都相同,只是面向的领域不同,人家面向计算机资源管理和计算,你面向业务 crud 。
yeqizhang
2020-04-30 18:34:29 +08:00
@shylockhg 嗯,shard 针对数据来说的分片。
一般分布式都是说 distributed

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/667560

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX