web项目分布式架构搭建
本人这几天研究分布式架构 有些概念了解的很不清楚 所以拿出来跟各位讨论讨论,请各位大胆的发表自己的观点
我的了解分布式架构主要有以下几种
1::tomcat+nginx+memcached+mysql集群
案例:1个nginx服务器 3个tomcat服务器 1个memcached 类似这种搭建起来的也属于一种分布式架构 对吗 各位??
2:然后现在炒的比较热门的hadoop+hbase等也是属于一种分布式架构????这种也是属于分布式吗 各位?
请问大家:1和2都有什么优点和缺点?
其中1跟2的区别 (个人了解)
不同点:
1 主要是利用软件自身有的功能进行分布式 比如mysql集群 通过配置就可以完成 而2呢 是通过代码的方式来实现分布式架构
相同点:
2:不管哪一种方式都需要部署同一个web项目多份 比如3个tomcat就需要把同一个web项目copy三份到3个tomcat下面 而如果是hadoop架构也一样需要把同一个web项目copy多份部署到多个hadoop的服务器上去。
3:由于第2点 copy多份 就会出现主从服务器之分 比如我们修改了程序代码 我们只需要把变动的代码copy到主服务器 需要通过监控的方式把变动的代码 自动从主服务器上copy到其他从服务器上去 这种用的是什么软件???哪位知道?
请教的地方:
mysql集群 就是任何一台mysql服务器的数据都是一致 仅仅是我们的web程序访问数据库的时候 mysql会自动根据服务器压力来判断 我们到底需要访问哪台mysql服务器而已????对吗 各位?
还有一点在web项目当中应用mysql集群或者在项目当中通过配置多个数据源的方式来利用多个数据库有什么优缺点???