【zk】
1.zk简介
官方推荐使用zookeeper注册中心。
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。
Zookeeper是Apacahe Hadoop的子项目,是一个树型的目录服务,支持变更推送,适合作为Dubbo服务的注册中心,工业强度较高,可用于生产环境,并推荐使用
Zookeeper:
1、可以作为集群的管理工具使用。
2、可以集中管理配置文件。
2.zk安装
安装环境:
Linux:centos7.0
Jdk:1.7以上版本
Zookeeper是java开发的可以运行在windows、linux环境。需要先安装jdk。
安装步骤:
第一步:安装jdk
第二步:把zookeeper的压缩包上传到linux系统。
第三步:解压缩压缩包
tar -zxvf zookeeper-3.4.6.tar.gz
第四步:进入zookeeper-3.4.6目录,创建data文件夹。
第五步:把zoo_sample.cfg改名为zoo.cfg
[root@localhost conf]# mv zoo_sample.cfg zoo.cfg
第六步:修改data属性:dataDir=/root/zookeeper-3.4.6/data
第七步:启动zookeeper
[root@localhost bin]# ./zkServer.sh start
关闭:[root@localhost bin]# ./zkServer.sh stop
查看状态:[root@localhost bin]# ./zkServer.sh status
注意:需要关闭防火墙。
3.zk验证
命令:ps aux|grep zookeeper 如果有下图内容输出,则证明已经启动
【dubbo监控中心】
1.百度搜索dobbo-admin对应的war
2.将该war包放到linux的tomcat的webapps中
3.启动tomcat
4.访问http://ip+端口号/dubbo-admin/
账号密码在解压的war包中的dubbo.properties配置文件中:dubbo-admin/WEB-INF/dubbo.properties
注意:
如果监控中心和注册中心在同一台服务器上,可以不需要任何配置。
如果不在同一台服务器,需要修改配置文件:
/root/apache-tomcat-7.0.47/webapps/dubbo-admin/WEB-INF/dubbo.properties
【zk与dubbo组合项目运用】
1.引入jar包(这里我只说明对应pom文件中的内容,如下)
- <!-- dubbo相关 --> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> <exclusion> <groupId>org.jboss.netty</groupId> <artifactId>netty</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> </dependency> -
2.配置文件进行配置(zk的ip地址要修改成自己的)
- <!-- 使用dubbo发布服务 --> <!-- 提供方应用信息,用于计算依赖关系 --> <dubbo:application name="e3-manager" /> <dubbo:registry protocol="zookeeper" address="192.168.37.139:2181" /> <!-- 用dubbo协议在20880端口暴露服务 --> <dubbo:protocol name="dubbo" port="20880" /> <!-- 声明需要暴露的服务接口 --> <dubbo:service interface="com.mark.service.ItemService" ref="itemServiceImpl" timeout="300000" /> -
3.启动测试(启动成功之后可以在控制台看到注册上去的接口,如下图)
【总结】
之前对于这些内容只是在用别人做好的东西,现在自己将这些内容搞了搞发现还是很简单的,在做的过程中也遇到了一些小问题,提前将项目的日志输出打开,然后报错了跟着报错信息去查,去找就一定可以找到问题所在,所谓有果必有因。
做到这里才是兴趣的开始,不过万事只要开头了,后面的就简单多了,最重要的还是要给自己自信,相信自己可以搞定,只不过是时间方式方法的问题,在这个基础上,去做一些事情就会让自己很有激情,并且在做完事情之后很有成就感,不过也还要记得多总结,加油~