什么是分布式,怎么理解

快乐起航2020 2016-10-09 02:35:43
我的理解是 分布式 就是一台服务器上取数据,多台服务器共享。
那么问题来了?我们实际项目中怎么架网站,不同服务器上架同一个网站 可以指向同一个域名。譬如淘宝之类的大型网站。
还有 我们怎么实现数据的一致,数据库怎么架。譬如我们有一个账号已经在A服务器上注册了,B服务器上的数据库如何判断检测?
原谅我是个新手。求赐教
...全文
10643 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
姜煜  2018-03-02
  • 打赏
  • 举报
回复
我以前理解的分布式,一定是分布式计算,即一个功能由多台服务(或多个运用)同时进行计算,每个计算一部分内容,但最终会统一结果输出,但目前在IT行业,负载均衡,加个redis、mq就被称作分布式部署、分布式服务。
software_artisan 2016-10-10
  • 打赏
  • 举报
回复 1
所为分布式,就是由多台设备协同完成一个或并行完成多个任务。
token不能为空 2016-10-09
  • 打赏
  • 举报
回复
引用 10 楼 XiaoPeiyuan2020 的回复:
[quote=引用 7 楼 hanjun0612 的回复:] 多台服务器,联合处理分布的数据。我这么理解的。
我们怎么实现数据的一致,数据库怎么架。譬如我们有一个账号已经在A服务器上注册了,B服务器上的数据库如何判断检测? 关于最后面这个问题是怎么解释的 前辈[/quote] 这个问题,我觉得直接连到一个数据库不就全部解决啦。。
正怒月神 版主 2016-10-09
  • 打赏
  • 举报
回复
引用 10 楼 XiaoPeiyuan2020 的回复:
[quote=引用 7 楼 hanjun0612 的回复:] 多台服务器,联合处理分布的数据。我这么理解的。
我们怎么实现数据的一致,数据库怎么架。譬如我们有一个账号已经在A服务器上注册了,B服务器上的数据库如何判断检测? 关于最后面这个问题是怎么解释的 前辈[/quote] 这个和算法有关系。比如淘宝之前的设计是这么说的。他们有16个数据库。用户名通过一定的算法后对16取模,然后就能确定该用户保存在哪台服务器上了,在到那个数据库去读取数据。并不需要几台服务器的数据是一模一样的。不然就是去了分布式的意义。
快乐起航2020 2016-10-09
  • 打赏
  • 举报
回复
引用 7 楼 hanjun0612 的回复:
多台服务器,联合处理分布的数据。我这么理解的。
我们怎么实现数据的一致,数据库怎么架。譬如我们有一个账号已经在A服务器上注册了,B服务器上的数据库如何判断检测? 关于最后面这个问题是怎么解释的 前辈
快乐起航2020 2016-10-09
  • 打赏
  • 举报
回复
大师
快乐起航2020 2016-10-09
  • 打赏
  • 举报
回复
我们怎么实现数据的一致,数据库怎么架。譬如我们有一个账号已经在A服务器上注册了,B服务器上的数据库如何判断检测? 关于最后面这个问题是怎么解释的
正怒月神 版主 2016-10-09
  • 打赏
  • 举报
回复
多台服务器,联合处理分布的数据。我这么理解的。
  • 打赏
  • 举报
回复
引用 楼主 XiaoPeiyuan2020 的回复:
我的理解是 分布式 就是一台服务器上取数据,多台服务器共享。
如果你原来满脑子就是“一个数据库,多个机器多用户访问”,现在你说你接触到了“多个数据库、每个服务器都有一个本地数据库”,你认为这是还是不是分布式呢? 这就好像一盘菜里边有木耳,木耳是不是这道菜呢?我告诉你,所谓分布式,就好像厨师炒菜,他学习了炒菜的技能。而你一个旁观者纠结于“这道菜里边哪些是你认识的木耳”,这很难回答。厨师炒这道菜必定需要使用木耳,而你硬说“我的理解是 这道菜 就是木耳被放到锅里,然后有用过锅铲扒拉过”,你满脑子里的东西没有从人家的api、设计方式出发,而是纯粹是从自己的臆想出发。 分布式“可以”让每一个机器上都有一个本地数据库。但是这样做的目的是为了什么呢?你从来不关心,也不会提出问题?
  • 打赏
  • 举报
回复
分布式确实是“一个功能分给多台服务去执行”。但是技术的要点在你是否有“核心技术”,而不在于你是否是刚刚进入皮毛。也就是说,你开发了这样一个调度程序(哪怕只有50行c#代码),能够实现100台服务器的调度的最基本的流程,“是骡子是马拉出来溜溜”,你能有这样一个调度程序,这便说明你开始进行分布式操作了。在这个过程中,确实可以使用“redis、mq”等机制(当然也可以自己编写几行、十行c#代码来完成同样功能,而完全不需要另找开源代码),但是如果你认为这些“就是分布式”,那么就可能没有用起来分布式。这就好像同样的材料可以炒出不同味道的菜肴,你说这些材料是这道菜、还是这些材料不属于这道菜?根本没有“是非纠结”,因为根本需要从量变到质变而换一个层面才能深入理解“组件-系统”的问题。 说白了,分布式的核心就是你要贴出分布式调度的api、并且基于一套 api 而给出一些分布式任务的算法设计,以此证明你会一点分布式设计。 看核心技术算法就知道会不会分布式操作——很简单,并不需要纠结于具体某个编程语言框架。而并不是看一个人知不知道一大堆近似的名词儿。 如果你“知道一点名词儿皮毛就说自己会了分布式”,那就跟有些人“我学过了c#语法所以我没有什么可学的编程知识了、只好学别的编程语言了”这种荒唐的说法一样了,跟“滥竽充数”没有两样了。
qq_28023843 2016-10-09
  • 打赏
  • 举报
回复
分布式开发 。。。 我也是新手 但是我觉得你上面描述的是错误的,分布式其实可以这样理解 :一个服务端+多个客户端, 以三层为列子,在三层的基础上增加一个服务端应用程序,这个服务端这要的功能就是提供接口,他的数据来源就是通过调用业务层然后数据访问层获得数据。这就相当于服务端应用程序+bll+dal就组成了一个完整的程序。然后再其他的项目中,你就可以根据服务端的地址在web应用程序中更新服务引用获得客户端,实例化客户端对象你就可以调用服务端提供的接口了。
  • 打赏
  • 举报
回复
我以前理解的分布式,一定是分布式计算,即一个功能由多台服务(或多个运用)同时进行计算,每个计算一部分内容,但最终会统一结果输出,但目前在IT行业,负载均衡,加个redis、mq就被称作分布式部署、分布式服务,感觉分布式已经变成一个时髦词了,不说都不好意思出来见人
闭包客 2016-10-09
  • 打赏
  • 举报
回复
本来一台服务器做的任务,多台服务器来做,就是分布式。 这个问题太大了,说不清。
shoppo0505 2016-10-09
  • 打赏
  • 举报
回复
门是只有一扇,不变。但是门后房间多了很多

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧