下面是一个简单的Cunsumer端服务器和Provider端服务器分别集群的部署图:前端
在我的开发机上,实现Cunsumer端服务器集群难以实现,因此此Demo中只实现Provider端服务器集群,Cunsumer端服务器集群请读者在有条件的状况下自行实践。java
Dubbo管理控制台的部署至关简单,因为开发机是Windows 7系统,因此此处也只介绍Windows环境下的部署过程。web
具体步骤以下:浏览器
独立出一个Tomcat环境,将“dubbo-admin-2.5.3.war”(文件放在JFinalDubboDemoApi项目)中全部的文件解压到新Tomcat的“webapps\ROOT”下(原ROOT文件夹下的全部文件都要删除)。服务器
编辑“webapps\ROOT\WEB-INF\dubbo.properties”文件。架构
dubbo.registry.address=multicast://224.5.6.7:2181app dubbo.admin.root.password=root负载均衡 dubbo.admin.guest.password=guest框架 |
修改第一个配置项就好,设置的值要与consumer.xml和provider.xml中“dubbo:registry”标签的“address”值相同。后面两行分别是root用户和guest用户的密码。webapp
提示,能够是Redis、Dubbo、MultiCat、ZooKeeper之间的一种。
启动控制台
执行Tomcat.bat。
首先按前面非集群的方式分别启动Cunsumer和Provider端的Tomcat。
注意:加上Dubbo管理控制台就是3个Tomcat实例被启动,不要让端口冲突。
用通常Java应用方式启动多个Provider。
到了这里,Provider中建立启动类的做用就显现出来了。修改provider.xml中“dubbo:protocol”的“port”属性为“20881”(必定要确保修改后当即保存),右键点击“DemoProviderApp.java”,以“Run As - Java Application”方式启动Provider。
重复上面,再次修改“port”属性为“20882”(再加1),启动Provider。
打开Java控制台,能够看到,2个Tomcat应用和2个通常Java应用在运行:
再修改,再启动。。。。。。随读者意,只要电脑能承受便可。
访问Dubbo管理控制台
浏览器中打开“http://192.168.1.100:8080/”,输入用户名和密码均为“root”后,进入主页面:
查看提供者、消费者
点击主页中的菜单:
进入提供者信息页:
能够看到3个提供者,它们的端口与启动配置相同。读者自行点击消费者页面,这里就再也不浪费篇幅了。
Provider的集群配置
点击“负载均衡 - 新增”:
在打开的页面中以下配置:
完成后可看到一条负载均衡配置:
细心的读者可能就已经发现了,负载均衡配置竟然是细到每一个接口上的。没错,Dubbo是不亚于Spring一类的存在,它有太多强大的东东没有在此文中出现,等待各位去发掘。
咱们回头再来看看Dubbo存在的背景,瞬间再次以为高大上啊~~~:
随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已没法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。 ·单一应用架构 · 当网站流量很小时,只需一个应用,将全部功能都部署在一块儿,以减小部署节点和成本。 · 此时,用于简化增删改查工做量的 数据访问框架(ORM) 是关键。 · 垂直应用架构 · 当访问量逐渐增大,单一应用增长机器带来的加速度愈来愈小,将应用拆成互不相干的几个应用,以提高效率。 · 此时,用于加速前端页面开发的 Web框架(MVC) 是关键。 · 分布式服务架构 · 当垂直应用愈来愈多,应用之间交互不可避免,将核心业务抽取出来,做为独立的服务,逐渐造成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。 · 此时,用于提升业务复用及整合的 分布式服务框架(RPC) 是关键。 · 流动计算架构 · 当服务愈来愈多,容量的评估,小服务资源的浪费等问题逐渐显现,此时需增长一个调度中心基于访问压力实时管理集群容量,提升集群利用率。 · 此时,用于提升机器利用率的 资源调度和治理中心(SOA) 是关键。 |
Ø 验证负载均衡
验证就简单了,在JFinal Demo的Blog List页面中,频繁刷新。能够看到,每一个Provider服务都在刷新3次时出现操做Sql,说明轮询方式的负载均衡策略已经起做用了。读者可切换不一样的负载均衡策略再试试看效果,条件好的还可用测试工具测试下性能,那感受,必定爽。
在provider中经过配置方法也能够实现集群,而不用在Dubbo管理控制台中手动设置,此问题就留给读者本身摸索。笔者就再也不教了,授人以鱼不如授人以渔,瞬间以为本身好高大。。。。。。
笔者的开发机多网卡时上遇到了问题,由于装了VMWare,因此有了虚拟网卡,在使用集群时,被IP不正确的问题搞得灰头土脸。
不打算在这里说明如何解决,由于不要期待他人帮你解决全部问题,不少问题得靠本身。。。。。。(好吧,笔者认可真实缘由是不想打字了)
源码地址:
Dubbo文档:
找了一阵没找到dubbo-admin-2.5.3.war,由于太大没有直接上传到OSC。下面是CSDN分享的dubbo-admin-2.5.4.war,笔者没验证过,应该是可用的:
系列文章: