前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从0到1搭建dubbo服务

从0到1搭建dubbo服务

作者头像
我是胖虎啊
发布2022-06-27 18:08:28
2810
发布2022-06-27 18:08:28
举报
文章被收录于专栏:测试开发卷货

背景

现在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服务的相关测试方法等, 敬请期待~

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发卷货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • Dubbo是什么? Dubbo干什么? Dubbo怎么用?
  • 环境搭建
    • zookeeper搭建
      • 搭建生产者和消费者
        • 搭建服务监控中心
        • 结束
        相关产品与服务
        微服务引擎 TSE
        微服务引擎(Tencent Cloud Service Engine)提供开箱即用的云上全场景微服务解决方案。支持开源增强的云原生注册配置中心(Zookeeper、Nacos 和 Apollo),北极星网格(腾讯自研并开源的 PolarisMesh)、云原生 API 网关(Kong)以及微服务应用托管的弹性微服务平台。微服务引擎完全兼容开源版本的使用方式,在功能、可用性和可运维性等多个方面进行增强。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档