永发信息网

什么是分布式?感谢分享,百度能搜到的概念性的东西就不要贴了 java开发的web网站怎么实现分布式?

答案:7  悬赏:80  手机版
解决时间 2021-01-21 19:19
  • 提问者网友:溺爱和你
  • 2021-01-21 09:40
什么是分布式?感谢分享,百度能搜到的概念性的东西就不要贴了 java开发的web网站怎么实现分布式?
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-01-21 11:00
分布式概念还是简单的吧,主要是理解为什么要分布式,和分布式主要做什么。
首先分布式的主要作用有以下几点:
1、提高应用的可用性:服务器要保持长时间能够有效的使用,但是现实情况又是很不稳定的,例如电脑会死机,会断电,硬件设备会损坏,使用分布式可以一定程度的解决这些问题。
2、分散服务器运行压力,这本身也是提高应用可用性的一个方面,例如你的应用功能很多,逻辑很复杂,或者操作的数据量较大,单个应用或者机器难以甚至无法处理你的业务,那么就需要使用分布式。
分布式的概念其实也很简单,就是一个应用做不了或者难以做的事情,让多个应用去做,这就好比让一个人去完成的事情让多个人去完成,举个现实中很简单的例子,例如造车,造车这个工作本身一个造车厂可以完成这个任务,只是一个工厂造车,成本、技术、人员等等都会提高制作成本,而且因为技术过于驳杂,一个厂能造,但是成本和难度都会增加,但是拆分给多个厂来造车,例如一个厂造发动机,一个厂造底盘,一个厂造外壳,一个厂做电子仪表盘等等,把各个配件分散给不同的厂制作,这样每个厂专心做自己更专业的事情,这样既降低了成本,有提高了工作效率。
回到我们的web应用,一般来说,一个系统就是一个应用,系统里面有各种功能,例如学生信息管理系统,系统里面包含各种功能,例如用户登录和认证、权限配置和授权、学生信息的管理、学生的入学管理、学生的毕业管理、校友信息管理等等各种功能,但是当学生的数量特别多,内部业务逻辑特别复杂的时候,一个应用可能不能够承担起这个系统的正常运转,那么就可以考虑分布式,来使用多个应用完成这个系统的功能,例如做一个应用负责登录认证模块,一个应用处理授权的功能,另外一个应用处理学生信息的内容等等。
总结分布式,其实就是一个应用的事情让多个应用来解决,分布式是应用级别的分工,在一台机器的多个应用,我们叫垂直分布式,在多台机器上的分布式叫水平分布式,在一台机器的分布式实现起来比较简单,只需要实现应用之间的内存数据共享即可,内存数据共享方式很多,可以使用共享文件等等方式,多台机器的分布式就需要借助网络通信来共享数据,如果是通语言同技术的应用,可以直接共享内存数据,如果是不同语言的分布式应用,就需要参照一些通用传输协议的数据,例如xml json。
全部回答
  • 1楼网友:未来江山和你
  • 2021-01-21 14:05
当你所需要做的项目非常巨大的时候,就可以使用分布式.举个例子,当你玩一款网络游戏的时候,会有很多很多的服务器来让你选择,你可以根据自己的情况选择你的服务器.但是无论哪个服务器,你最终玩的都是这款游戏,这些服务器之间其实就相当于实现了分布式资源共享.现实生活中,可能一项工程设计各个领域的学术,如果都放在一个服务器是不可能的.此时需要实现稀有资源共享,并把最适合的程序放在最合适的计算机上,让多台计算机上平衡计算负载.再说客户端的问题,你访问人人网,可以通过网页直接访问,也可以下载人人桌面进行访问.这两种方式都可以.所以说你的网站架设在服务器上,用户去访问是不需要装客户端的,但是也可以选择装客户端来提高性能.追问恩,那就是说同一个版本的web程序需要分别发布在2台服务器上,然后2台服务器连接的是同一个数据库,可是用户访问的是同一个www地址,那么这是怎么做到的呢,又怎么决定选择哪台服务器呢,游戏可以选择
  • 2楼网友:野味小生
  • 2021-01-21 13:40
推荐答案正解!
  • 3楼网友:雪起风沙痕
  • 2021-01-21 13:14
给你推荐本书吧.网上贴的都没意义了!由淘宝架构师林昊写的一本关于java分布式应用.写的不错.可以参考一下!追问有书名吗追答林昊 java分布式应用 你搜一下就看到了!
  • 4楼网友:千杯敬自由
  • 2021-01-21 11:09
别被百科忽悠,别被名词吓到。
分布式,纯粹就是故作高深。
完全可以换一个词——“分工合作”
分工合作能理解吗?有这么一件事情,你一个人做得10小时,但是10个人做,就算不是缩短到1小时,但也会缩短很多对吧。
你可以把你的程序写得很开放,但又很复杂。然后你把你的程序在10台电脑,甚至100台,1000台电脑上面都装上,不过你唯一需要保证的是——这1000台电脑之间能够互相通信,能够互相传递你的程序运行参数和状态,你的程序可以换句话说是由这1000台电脑共同运行的。
如果这还不能理解,就想象多线程。一个程序分了多线程,一个CPU有多个核心,每个核心都可以运行一个线程。
类似的,你把每台电脑想象成一个核心,这样多台电脑多个核心。
分布式程序其实概念上很简单,只是实践起来很辛苦,因为要组织很多东西在一起工作是很困难的。哪怕是人,别说1000个人,就是10个人,你组织他们协同工作都很困难了!
程序上也是如此,协同1000太电脑工作需要有十分复杂的协议和数学理论做支撑。追问是啊,可以说的具体一点吗,如何协作一起工作追答分布式的理论有很多的,不是百度知道能回答全的,况且我本身也并不了解很深入,没有能力回答你太多。不过建议你还是不要太盲目追求分布式。分布式的架构真的很复杂,最经典的例子就是现在的互联网,就是一个分布式的架构。而目前互联网的复杂程度可以说是人类所有智慧和知识的集合体了。追问百度的自动推荐做的不好,让人苦笑不得,
我想知道些具体点的,复杂不是问题,例如楼下的举个例子,
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯