1.dubbo简介
- 它是一款由alibaba团队开发的分布式服务框架
- 高性能和透明化的RPC远程服务调用方案
- SOA服务治理方案
2.dubbo的架构
如图所示:
- 各个节点说明:
Container 服务运行容器
Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次调和调用时间的监控中心2.执行步骤
1、服务容器负责启动,加载,运行服务提供者。
2、服务提供者在启动时,向注册中心注册自己提供的服务。
3、服务消费者在启动时,向注册中心订阅自己所需的服务。
4、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
5、服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
6、服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
这里重点说明下:dubbo服务注册和调用时通过zookeeper来实现的
3.zookeeper在linux上的的搭建和启动
首先我们需要上传给linux系统一个dubbo服务的web工程,并且还需要一个zookeeper的工程,然后将dubbo工程拷贝到tomcat的webapp目录,这样dubbo的服务监测就部署好了.然后就是配置核心的服务调用者和注册者zookeeper,这里我们首先在zookeeper目录下新建一个data文件夹用于存放zookeeper运行所产生的数据,然后再进入到zookeeper的子目录conf目录下,里面有一个zoo.sample.cfg文件,将其拷贝并且改名为zoo.cfg,这样zookeeper运行自动读取这个核心文件的配置.但是我们需要修改一些配置 vim zoo.cfg具体如下:
将dataDir的路劲改为刚刚我们创建的data的绝对路径
这样我们的基本环境就配置好了.
4.dubbo服务的启动
首先我们先启动zookeeper服务注册中心.
通过linux命令进入到zookeeper的bin目录下如下:
运行:./zkServer.sh start 启动zookeeper服务
通过命令 ps -aux | grep zookeeper 查看zookeeper服务是否启动,出现如下图内容就说明zookeeper服务启动成功
启动完了zookeeper服务后,接下来我们就要启动监控中心的服务,通过linux命令进入到/usr/local/software目录下(因为我的duboo工程服务放在该目录下,这个因上传的目录不同而不同),然后通过命令:cp -r dubbo_main tomcat7/webapps/dubbo(参数r表示复制文件夹,后面跟着的dubbo目录是重命名)拷贝到tomcat目录下的webapps目录下,这个项目部署就成功了
接下来启动tomcat服务器,进入tomcat/bin目录下:执行命令 ./startup.sh 服务器就启动成功
接下来我们访问下dubbo的管理中心,通过linux的ip地址xxxx(ip地址):8080/dubbo 如果进入到这个页面那么,服务就启动成功了
注意:如果linux系统防火墙没有打开8080端口,是无法访问到dubbo服务的
我的是linux系统是centos7开启:以下引用这篇博客介绍在centos7下的防火墙设置方法Centos7.3防火墙配置
centos7以下的防火墙设置,请自行百度
好了,zookeeper的linux系统搭建就到这里了,下一章我将重点介绍,dubbo项目的具体使用.谢谢各位看客老爷
.