网上看到的都是概念,可是实际上到底如何应用,完全是一头雾水
也不知道如何在自己的电脑模拟出来
请问各位前辈到底什么是分布式和集群,如何在Java中应用?
网上看到的都是概念,可是实际上到底如何应用,完全是一头雾水
也不知道如何在自己的电脑模拟出来
请问各位前辈到底什么是分布式和集群,如何在Java中应用?
集群感觉维基百科上的解释比较好,这个跟java没啥关联,你开发的一个java服务,部署到多份,然后在前面挂哥nginx一类的负载均衡的就算是集群了。
分布式,我感觉就是你开发一个java服务,但是服务很复杂,很大,这样整体性能就不好,然后就可以把一些比较频繁的模块拆出去,比如登录,做成一个单独的服务,通过rpc来互相调用,这样就可以针对这个单独抽出来的服务进行优化,并且因为只有登录相关的内容,可以做到一个比较好的资源利用达到效率的提升。当然分布式也不一定都会提升性能,远程调用会牺牲性能,但是当服务过于复杂时,分布式会让结构更清晰,开发维护起来更方便
首先,集群跟java不java没关系。
单一服务器的负载总会有极限,所以一些耗时的程序、单次处理数据比较大程序会分布到多台服务器上进行,然后由一台服务器进行归并处理返回。拿数据库来说的话就是酱紫的:
1.insert into xxxxxx
SQL发送给一个SQL分析器(一台服务器),进行一系列规则匹配、运算。将数据存储到后端N台数据存储服务器上。
2.select * from ....
同样,发送给SQL分析器(一台服务器),然后由该服务器把SQL发送到后端所有的数据存储服务器上,同时进行运算,然后把数据再发送回分析服务器,然后分析服务器进行归纳按照SQL要求的limit order等条件进行最后筛选然后输出结果。
这就是分布式了。:)
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读
程序软件上的分布式
一个项目,拆成多个子项目。项目之间通过不同的协议通信
集群
大概就是一件事,交给多台服务器来做吧。
举个例子,就是比如说我做一个爬虫的系统,爬虫爬网页。然后分析网页。分析这个过程是很费时间的。
所以我可以把它交给5台机器去处理,一台上一个任务处理完了,马上去处理另外任务。
这就需要6台机器。1台去获取网页数据,分别交给5台机器去做