Dubbo-Zookeeper 篇 之Alibaba Cloud Toolkit 利器 + Docker 大杀器

概述

利用Alibaba Cloud Toolkit 快速搭建dubbo + zookeeper工程, 以及如何调通zookeeper

此文前提: 已安装好Docker~没有就看标题1, 已安装略过

1. Docker

我自己用于开发测试学习的神器安装redis,mysql等就像安装软件一样简单~

本人环境: 阿里云CES , 系统: Centos7

1.1 Docker环境安装

  • 安装yum-utils:

    yum install -y yum-utils device-mapper-persistent-data lvm2Copy to clipboardErrorCopied
    
  • 为yum源添加docker仓库位置:

    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repoCopy to clipboardErrorCopied
    
  • 安装docker:

    yum install docker-ceCopy to clipboardErrorCopied
    
  • 启动docker:

    systemctl start docker
    

docker 拉取镜像通过 docker pull [镜像名称], 不过速度很蜗牛,配置一下阿里云镜像加速即可


1.2 配置阿里云镜像加速

https://help.aliyun.com/document_detail/60750.html


2. Alibaba Cloud Toolkit 插件

插件市场直接搜 Alibaba Cloud Toolki ,我已安装好。

在这里插入图片描述

2.1 新建项目

先参考: 开源软件 Apache Dubbo 牵手 IDE 插件,开发部署提速不止 8 倍 , 不过该篇文章已是一年前的了,Alibaba Cloud Toolkit 也更新了不少, 添加Regsitry 和 Confiuration Method的选择

1. 安装插件重启侯,new - > Project 可以看到多了个Apache Dubbo,就像 可以用Spring Initalizr直接创建Springboot工程一样,不在需用maven慢慢添加依赖。
在这里插入图片描述

2. 选择 Zookeeper, 也可以用阿里的Mulicast的注册中心,供于测试的~
在这里插入图片描述

3. 完创建出来的 Dubbo 样例工程是一个 Spring boot + Dubbo + Zookeeper工程,pom配置好了dubbo和zookeeper, 只需换成自己的zookeeper的地址即可。在这里插入图片描述

2.2 启动项目

1.启动Provider

首先修改配置: application.properties文件

dubbo.registry.address=zookeeper://自己的IP:2181

在这里插入图片描述
出现下图说明服务端已经成功启动。

2020-07-24 09:29:13.014  INFO 162700 --- [           main] c.d.s.provider.DubboProviderBootstrap    : Started DubboProviderBootstrap in 3.484 seconds (JVM running for 4.41)
2020-07-24 09:29:13.018  INFO 162700 --- [pool-1-thread-1] .b.c.e.AwaitingNonWebApplicationListener :  [Dubbo] Current Spring Boot Application is await...

2. 启动Consumer

同样的启动丢应工程下的 启动程序 com.dubbo.saiuna.consumer.DubboConsumerBootstrap, 同样修改对应的 application.properties文件

dubbo.registry.address=zookeeper://自己的IP:2181

修改一下输出:com.dubbo.saiuna.consumer.DubboConsumerBootstrap.Java下,每秒调用一次。

@Bean
public ApplicationRunner runner() {
    return args ->{
        while (true) {
            TimeUnit.SECONDS.sleep(1);
            logger.info(demoService.sayHello("Provider-saiuna"));
        }
    };
}

最后启动DubboConsumerBootstrap

2020-07-24 11:46:15.683  INFO 224684 --- [           main] c.d.s.consumer.DubboConsumerBootstrap    : Started DubboConsumerBootstrap in 3.16 seconds (JVM running for 3.636)
2020-07-24 11:46:16.942  INFO 224684 --- [           main] c.d.s.consumer.DubboConsumerBootstrap    : Hello Provider-saiuna, response from provider: 192.168.163.195:12345
2020-07-24 11:46:17.955  INFO 224684 --- [           main] c.d.s.consumer.DubboConsumerBootstrap    : Hello Provider-saiuna, response from provider: 192.168.163.195:12345
2020-07-24 11:46:18.967  INFO 224684 --- [           main] c.d.s.consumer.DubboConsumerBootstrap    : Hello Provider-saiuna, response from provider: 

按照预期的每秒调用一次并打印。这次整个过程调通,省去了大量的cv工作, 用于测试/学习非常便利。

细心的发现缺了一个环节,注册中心zookeeper呢?

就像rabbitMQ一样需要安装。我直接用Docker安装在阿里云服务器上了。


3. Docker安装 zookeeper

1. 查看zookeeper镜像

docker search zookeeper

2. 拉取zookeeper

docker pull zookeeper

3. 运行安装

docker run -d \ -p 2181:2181 \
-v /mydata/zookeeper/data/:/data/ \ 
--name=zookeeper  \
--privileged zookeeper

4. 参数含义

贴心的我怎么会忘了贴上参数含义呢:

-p 2181:2181   //将容器的2181端口映射到主机的2181端口, 也可以和主机的端口分开
--name=zookeeper //创建的容器名称
-v /mydata/zookeeper/data/:/data/  //设置数据及文件放置的地方

--privileged  /*使用该参数,container内的root拥有真正的root权限。
否则,container内的root只是外部的一个普通用户权限。 */

关于 --privileged 参数也是找了网上的说话,众说纷纭,具体最好还是看官方文档~ 至此不做深究,有错误恳请指出,互相学习


反斜杠 \ 是为了转义 换行

对于复杂的RUN命令,用反斜线换行,合成一条命令

shell命令行下反斜线""有两种含义:

1.对有特殊含义的字符进行转义. 例如 echo “123$”,结果是123$

2.\Enter,反斜杠后面紧跟回车,表示下一行是当前行的续航 ,合成一条命令

mydata为自定义的文件夹,统一放docker安装的地方,便于打理。 放一下我自己的


6.查看zookeeper的进程

docker ps 

在这里插入图片描述

7. 进入 zkCli.sh 可跳过
在这里插入图片描述
至此zookeeper已经安装成功。当然,zookeeper也像redis、mysql那样有可视化客户端。

8. ZooInspector 客户端连接

  • zookeeper图像化客户端工具的下载地址zookeeper

  • 下载完后解压压缩包,打开地址为ZooInspector\build\zookeeper-dev-ZooInspector.jar的jar包;

  • 老规矩, IP + Port
    在这里插入图片描述
    在这里插入图片描述
    可以看到 dubbo下的一开始建立的demo中的包名下的providers 和 consumers了,以及zookeeper。至此一个dubbo + zookeeper的案例就搭建起来了~

今天不学习,明天变辣鸡

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值