Dubbo-注册中心zookeeper

一、zookeeper注册中心

谈zookeeper之前,感觉还是需要聊一聊分布式。不然一个陌生的技术作用在哪里就体现不出来了。
在实际项目开发中,一个系统肯定不止你一个人开发,那么在多位软件开发工程师一起协调合作,项目管理和项目开发的调配不好统一管理,这时候就产生分布式系统,目前国内分布式系统最火的依然是alibba的Dubbo框架 ,而zookeeper就是Dubbo的核心注册中心
分布式: 分布式系统是若干独立计算机(服务器) 的集合 这些计算机相对用户来讲就是一个独立的系统。分布式系统(distributed system)是建立在网络之上的服务器端一种结构。

1.注册中心

zookeeper是一个高性能、分布式的开放的分布式应用程序协调服务。
翻译过来是动物管理员他是一个树形结构。这种树形结构和标准文件系统相似。ZooKeeper 树中的每个节点被称为Znode。和文件系统的目录树一样,ZooKeeper 树中的每个节点可以拥有子节点。每个节点表示一个唯一服务资源。Zookeeper 运行需要 java 环境。

2、安装配置zookeeper

进入官网 下载好压缩包 zookeeper-3.5.4-beta.tar.gz
修改配置文件  zookeeper-3.5.4/conf/ 复制 zoo-sample.cfg 改名为 zoo.cfg
因为在zookeeper启动时会首先寻找zoo.cfg文件 ,并修改几个属性值

在这里插入图片描述
1.tickTime 心跳时间
每隔tickTime时间间隔发送一个心跳。zookeeper服务器之间或客户端与服务器之间的维持心跳
2.dataDir 数据目录
3.clientPort 端口号 默认是2181

那么如何将Zookeeper加入到我们的项目里呢?


        <!--服务的名称-->
        <dubbo:application name="zk-node-shop-web"/>

        <!--声明dubbo注册中心-->
        <dubbo:registry address="zookeeper://localhost:2181" />
        
         <dubbo:reference interface="com.bjpowernode.service.OrderService"
                id="remoteOrderService" check="false" retries="2" timeout="6000" />

        <dubbo:reference interface="com.bjpowernode.service.UserInfoService"
                         id="remoteUserService"
                         check="false"
                         retries="2"
                         timeout="6000"
                         version="1.0" />

        <!--声明自定义时候showServiceImpl对象-->
        <bean id="showService" class="com.bjpowernode.service.impl.ShowServiceImpl">
                <property name="orderService" ref="remoteOrderService" />
                <property name="userInfoService" ref="remoteUserService" />
        </bean>

这是一个服务的消费者,可以看到我们需要声明Dubbo服务的名称,声明zookeeper注册中心。其中。 retries 表示重试的次数,这个次数不建议设的过大。一次或者两次就好,重试成功的机会不大。timeout 失效时间 ,check 属性 一般建议设置为false.若为true表示启动时需要先启动服务的提供者,在启动服务的消费者 否则启动报错。version版本号。

   <!--设置服务名称-->
    <dubbo:application name="zk-node-shop-userservice"></dubbo:application>

    <!--声明注册中心 dubbo:registry -->
    <dubbo:registry address="zookeeper://localhost:2181"></dubbo:registry>

    <!--声明使用的协议-->
    <dubbo:protocol name="dubbo" port="20882" />

    <!--暴露接口,供消费者使用-->
    <dubbo:service interface="com.bjpowernode.service.UserInfoService"
                    ref="userService" version="1.0"/>

再看我们服务的提供者。我们服务的提供者需要暴露我们的服务接口。供消费者使用

运行应用
先启动注册中心,这个项目是在windows上,所以找到我们刚刚的安装目录,
在这里插入图片描述
双击运行我们的zkServer.cmd 出现一个dos窗口。这个窗口不要关闭,
第二步运行我们的服务提供者
最后开启我们的服务的消费者,访问的时候也是直接访问我们的服务消费者

二、Dubbo监控中心

Dubbo监控中心在程序中不是非要不可的,在一个Dubbo项目中,只需要我们的注册中心、服务提供者和服务的消费者即可
dubbo-admin
这是国内alibaba公司提供的一个分布式项目管理工具。
下载监控中心,https://github.com/apache/incubator-dubbo-ops

运行监控中心的jar包
可以修改dubbo-properties文件,推荐不修改,直接使用默认配置即可

在这里插入图片描述

启动
先启动注册中心zookeeper zkServer.cmd
执行服务提供者
运行监控中心 在所在目录下执行cmd 窗口命令 java -jar xxx
在浏览器地址栏输入 http;//localhost:7001
默认的用户名和密码都是root

猜你喜欢

转载自blog.csdn.net/qq_42963930/article/details/102478707