请教各位前辈到底什么是分布式和集群,如何在Java中应用
网上看到的都是概念,可是实际上到底如何应用,完全是一头雾水
也不知道如何在自己的电脑模拟出来
请问各位前辈到底什么是分布式和集群,如何在Java中应用?
提不起劲叶子
10 years, 2 months ago
Answers
首先,集群跟java不java没关系。
单一服务器的负载总会有极限,所以一些耗时的程序、单次处理数据比较大程序会分布到多台服务器上进行,然后由一台服务器进行归并处理返回。拿数据库来说的话就是酱紫的:
1.
insert into xxxxxx
SQL发送给一个SQL分析器(一台服务器),进行一系列规则匹配、运算。将数据存储到后端N台数据存储服务器上。
2.
select * from ....
同样,发送给SQL分析器(一台服务器),然后由该服务器把SQL发送到后端所有的数据存储服务器上,同时进行运算,然后把数据再发送回分析服务器,然后分析服务器进行归纳按照SQL要求的limit order等条件进行最后筛选然后输出结果。
这就是分布式了。:)
蓬莱佐玖夜
answered 10 years, 2 months ago
集群感觉 维基百科 上的解释比较好,这个跟java没啥关联,你开发的一个java服务,部署到多份,然后在前面挂哥nginx一类的负载均衡的就算是集群了。
分布式,我感觉就是你开发一个java服务,但是服务很复杂,很大,这样整体性能就不好,然后就可以把一些比较频繁的模块拆出去,比如登录,做成一个单独的服务,通过rpc来互相调用,这样就可以针对这个单独抽出来的服务进行优化,并且因为只有登录相关的内容,可以做到一个比较好的资源利用达到效率的提升。当然分布式也不一定都会提升性能,远程调用会牺牲性能,但是当服务过于复杂时,分布式会让结构更清晰,开发维护起来更方便
manda
answered 10 years, 2 months ago