ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

dubbo 服务搭建

2022-05-16 02:02:17  阅读:204  来源: 互联网

标签:dubbo java service zookeeper jar 服务 搭建


从0到1搭建dubbo服务

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

「rpc、dubbo基础知识」

「学习资料」

本文是参考尚硅谷的视频课程学习搭建的,课程链接: 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搭建

docker pull zookeeper 
docker run -d -p 2181:2181 --name zookeeper zookeeper

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

搭建生产者和消费者

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

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

有2种方式: 直接运行代码 和 jar包运行,这里介绍docker启动
首先介绍jar包方式运行(推荐):
从代码仓库拉取代码后, 在software目录中有2个文件夹: service_provider 和 service_consumer, 分别对应"服务生产者" 和 "服务消费者"
修改service_provider中的配置文件 application.properties, 将下图中的ip改为zookeeper所在服务器的ip图片

修改service_consumer中的配置文件 application.properties, 将下图中的ip改为zookeeper所在服务器的ip图片

分别运行生产者和消费者

//运行生产者, 服务占用端口为8080

  1. java直接云因
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 &

2.docker 运行
可以在software/dubbo_admin和 software/service_consumer、software/service_provider 的目录下都加入dockerfile 文件

FROM ascdc/jdk8
 
#  作者签名
MAINTAINER JY
COPY . .
#  简化 jar 的名字路径 (#:表示注释掉)
ADD *.jar app.jar
ENTRYPOINT ["java","-jar","app.jar"]

搭建服务监控中心

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

  1. 在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 &
2 dockerfile镜像

访问 访问 配置zookeeper的ip:7001 用户名:root 密码:root
分别启动上面的 提供者服务 和 消费者服务, 可以看到下图, 显示有1个提供者 + 1个消费者图片

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

标签:dubbo,java,service,zookeeper,jar,服务,搭建
来源: https://www.cnblogs.com/kxtomato/p/16275480.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有