从0到1搭建dubbo服务

2022-06-27 18:08:28 浏览数 (1)

背景

现在java系技术栈的公司中,对dubbo框架的应用很广泛, 所以很有必要学习一下相关知识.

Dubbo是什么? Dubbo干什么? Dubbo怎么用?

「Dubbo官网」

https://dubbo.apache.org/zh/docs/

「rpc、dubbo基础知识」

https://juejin.cn/post/6870276943448080392

「学习资料」

本文是参考尚硅谷的视频课程学习搭建的,课程链接: https://www.bilibili.com/video/BV1ns411c7jV

环境搭建

分为4个部分: zookeeper(服务注册中心) 服务生产者 服务消费者 服务监控中心

代码仓库地址: https://gitee.com/pangHuPerfect/java-dubbo/tree/master

代码语言:javascript复制
git clone git@gitee.com:pangHuPerfect/java-dubbo.git

zookeeper搭建

zookeeper版本推荐3.4.6(一开始用的zookeeper-3.7.0版本,踩坑了很久)

  1. 安装包获取
  • 首先推荐从本人的代码仓库中获取安装包,代码仓库地址上面有介绍, 安装包在software目录里面
  • 官网下载地址: https://zookeeper.apache.org/releases.html
  1. 搭建zookeeper
  • 解压压缩包
代码语言:javascript复制
tar zxvf zookeeper-3.4.6.tar.gz
  • 修改配置项 配置文件在conf目录里面的zoo.cfg
代码语言:javascript复制
vim zoo.cfg

配置项中主要修改图中的2个地方:

第1个是zookeeper的数据存储目录, 第2个是zookeeper服务监听的端口

  • 运行服务

去解压缩后的bin目录下,有个zkServer.sh文件, 运行命令为:

代码语言:javascript复制
./zkServer.sh start /home/hwytest/software/zookeeper-3.4.6/conf/zoo.cfg
  • zookeeper的其它相关命令

「查看zookeeper的运行状态」

代码语言:javascript复制
./zkServer.sh status /home/hwytest/software/zookeeper-3.4.6/conf/zoo.cfg

「进入zookeeper的shell模式」以下命令在软件解压缩后的bin目录下执行

代码语言:javascript复制
./zkCli.sh        连接本机
代码语言:javascript复制
./zkCli.sh -server 127.0.0.1:2181     

将ip换成其它zookeeper地址,即可远程连接

「zookeeper操作的相关帖子」

https://blog.csdn.net/weixin_43559950/article/details/118893289

搭建生产者和消费者

本文中的生产者: 订单服务, 消费者: 用户服务.

目标是 "订单服务" 通过dubbo远程调用 "用户服务"

有2种方式: 直接运行代码 和 jar包运行

  1. 首先介绍jar包方式运行(推荐):
  • 从代码仓库拉取代码后, 在software目录中有2个文件夹: service_provider 和 service_consumer, 分别对应"服务生产者" 和 "服务消费者"
  • 修改service_provider中的配置文件 application.properties, 将下图中的ip改为zookeeper所在服务器的ip
  • 修改service_consumer中的配置文件 application.properties, 将下图中的ip改为zookeeper所在服务器的ip
  • 分别运行生产者和消费者
代码语言:javascript复制
//运行生产者, 服务占用端口为8080
nohup java -jar springboot-user-service-provider.jar >/dev/null  2>&1 &
代码语言:javascript复制
//运行消费者, 服务占用端口为8081
nohup java -jar springboot-order-service-consumer.jar >/dev/null  2>&1 &
  1. 以代码方式运行
  • 需要在idea中同时导入3个项目, 如图所示

「介绍下小技巧」: 如何在idea中同时导入多个项目, 如下图所示, 连续导入3个项目即可

  • 修改resources下的配置文件application.properties,像上面一样更改对应的ip
  • 直接点击idea的RUN按钮运行即可,分别运行2个服务

搭建服务监控中心

「参考帖子」: ttp://t.zoukankan.com/lyh233-p-12741884.html

  • 在software目录下的dubbo_admin目录中, 修改application.properties中的dubbo.registry.address,将ip改为实际zookeeper的ip
  • 运行
代码语言:javascript复制
java -jar dubbo-admin.jar

或者

nohup java -jar dubbo-admin.jar >/dev/null  2>&1 &
  • 访问 访问 配置zookeeper的ip:7001 用户名:root 密码:root

分别启动上面的 提供者服务 和 消费者服务, 可以看到下图, 显示有1个提供者 1个消费者

结束

到此为止, 我们已经成功搭建好了一个dubbo服务了, 哈哈哈!

后续会更新一下dubbo服务的相关测试方法等, 敬请期待~

0 人点赞