现在java系技术栈的公司中,对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
git clone git@gitee.com:pangHuPerfect/java-dubbo.git
zookeeper版本推荐3.4.6(一开始用的zookeeper-3.7.0版本,踩坑了很久)
tar zxvf zookeeper-3.4.6.tar.gz
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的运行状态」
./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包运行
//运行生产者, 服务占用端口为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 &
「介绍下小技巧」: 如何在idea中同时导入多个项目, 如下图所示, 连续导入3个项目即可
「参考帖子」: ttp://t.zoukankan.com/lyh233-p-12741884.html
java -jar dubbo-admin.jar
或者
nohup java -jar dubbo-admin.jar >/dev/null 2>&1 &
分别启动上面的 提供者服务 和 消费者服务, 可以看到下图, 显示有1个提供者 + 1个消费者
到此为止, 我们已经成功搭建好了一个dubbo服务了, 哈哈哈!
后续会更新一下dubbo服务的相关测试方法等, 敬请期待~