研发效能 从 0 到 1 搭建 dubbo 服务

我胖虎不服! · 2022年05月18日 · 2947 次阅读

从 0 到 1 搭建 dubbo 服务

背景

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

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

Dubbo 官网

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


rpc、dubbo 基础知识

https://juejin.cn/post/6870276943448080392


学习资料

本文是参考尚硅谷的视频课程学习搭建的,课程链接:

环境搭建

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

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

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

  • 搭建 zookeeper

  • 解压压缩包

tar zxvf zookeeper-3.4.6.tar.gz
  • 修改配置项 配置文件在 conf 目录里面的 zoo.cfg
vim zoo.cfg

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

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

  • 运行服务

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

./zkServer.sh start /home/hwytest/software/zookeeper-3.4.6/conf/zoo.cfg
  • zookeeper 的其它相关命令

查看 zookeeper 的运行状态

./zkServer.sh status /home/hwytest/software/zookeeper-3.4.6/conf/zoo.cfg

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

./zkCli.sh        连接本机
./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 包方式运行 (推荐):
  2. 从代码仓库拉取代码后, 在 software 目录中有 2 个文件夹: service_provider 和 service_consumer, 分别对应"服务生产者" 和 "服务消费者"
  3. 修改 service_provider 中的配置文件 application.properties, 将下图中的 ip 改为 zookeeper 所在服务器的 ip
  4. 修改 service_consumer 中的配置文件 application.properties, 将下图中的 ip 改为 zookeeper 所在服务器的 ip
  5. 分别运行生产者和消费者
//运行生产者, 服务占用端口为8080
nohup java -jar springboot-user-service-provider.jar >/dev/null  2>&1 &
//运行消费者, 服务占用端口为8081
nohup java -jar springboot-order-service-consumer.jar >/dev/null  2>&1 &
  1. 以代码方式运行
  2. 需要在 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
  • 运行
java -jar dubbo-admin.jar

或者

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

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

结束

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

如果觉得本篇文章对你有帮助, 希望可以给我的代码仓库点个 star

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

暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册