【e3项目学习二】——zk与dubbo的组合运用

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。

【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  如果有下图内容输出,则证明已经启动


20180417102114833.jpg


【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


20180417102134269.jpg


注意:

如果监控中心和注册中心在同一台服务器上,可以不需要任何配置。

如果不在同一台服务器,需要修改配置文件:

/root/apache-tomcat-7.0.47/webapps/dubbo-admin/WEB-INF/dubbo.properties


2018041710220186.jpg


【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.启动测试(启动成功之后可以在控制台看到注册上去的接口,如下图)


20180417102339533.jpg


【总结】


   之前对于这些内容只是在用别人做好的东西,现在自己将这些内容搞了搞发现还是很简单的,在做的过程中也遇到了一些小问题,提前将项目的日志输出打开,然后报错了跟着报错信息去查,去找就一定可以找到问题所在,所谓有果必有因。

   做到这里才是兴趣的开始,不过万事只要开头了,后面的就简单多了,最重要的还是要给自己自信,相信自己可以搞定,只不过是时间方式方法的问题,在这个基础上,去做一些事情就会让自己很有激情,并且在做完事情之后很有成就感,不过也还要记得多总结,加油~

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1月前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
|
1月前
|
Dubbo Java 应用服务中间件
微服务框架(十)Maven Archetype制作Dubbo项目原型
  此系列文章将会描述Java框架Spring Boot、服务治理框架Dubbo、应用容器引擎Docker,及使用Spring Boot集成Dubbo、Mybatis等开源框架,其中穿插着Spring Boot中日志切面等技术的实现,然后通过gitlab-CI以持续集成为Docker镜像。   本文为Maven Archetype的制作及使用,使用archetype插件制作Dubbo项目原型
|
1月前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
245 0
|
8月前
|
Dubbo Java 应用服务中间件
如何在Spring Boot项目中集成Dubbo并启用gRPC协议,来实现高效的分布式服务通信?
如何在Spring Boot项目中集成Dubbo并启用gRPC协议,来实现高效的分布式服务通信?
150 0
如何在Spring Boot项目中集成Dubbo并启用gRPC协议,来实现高效的分布式服务通信?
|
7月前
|
监控 Dubbo 应用服务中间件
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
启动Dubbo项目注册Zookeeper时提示zookeeper not connected异常原理解析
253 0
|
9月前
|
Dubbo Java 应用服务中间件
dubbo项目拆分结构
dubbo项目拆分结构
41 0
dubbo项目拆分结构
|
9月前
|
缓存 Dubbo Java
3步让Dubbo项目快速集成Sentinel
在微服务系统中,缓存、限流、熔断是保证系统高可用的三板斧。本文通过3个步骤,让Dubbo项目快速集成使用Sentinel实现系统限流。
|
10月前
|
XML Dubbo Java
2021-12-10 关于SpringBoot项目调用dubbo接口的笔记
2021-12-10 关于SpringBoot项目调用dubbo接口的笔记
79 0
|
11月前
|
监控 负载均衡 Dubbo
当 zk 作为 dubbo 的注册中心时,是怎么工作的?
当 zk 作为 dubbo 的注册中心时,是怎么工作的?
92 0
|
11月前
|
Dubbo 应用服务中间件 API
2. 介绍一下 Dubbo 在项目中的应用场景,怎么用的?
2. 介绍一下 Dubbo 在项目中的应用场景,怎么用的?
75 0