从零搭建基于SpingCloud、dubbo、nacos、zipkin、rabbitmq的微服务框架

目录

 一、前言

二、用到的技术 

1、dubbo 

2、nacos 

3、zipkin 

4、RabbitMq

5、数据库 

三、开发使用的IDE 

四、搭建开发环境

第一步:安装jdk

第二步:安装Nacos并运行

 第三步:安装并运行RabbitMq

第四步:启动zipkin 

 五、运行项目

六、各种链路测试

 1、dubbo链路测试

 2、ribbon链路测试

​编辑 3、混合链路测试

​编辑 七、需要注意的问题

1、MongoDB数据库 

八、资源链接


 一、前言

        近日,水壶哥所在公司要在已有的微服务系统中,新增一个日志管理微服务,具体作用是用来记录各个微服务中Controller和Service的调用日志,并且要收集各个微服务间的调用链路,这个开发日志管理服务的重任很荣幸的落在了水壶哥的身上,秉着要将项目吃透,将功能做细的原则,水壶哥从头搭建了一套测试平台,其中涵盖了SpingCloud、dubbo、nacos、zipkin、rabbitmq等各项技术,在这里,水壶哥就将这套平台的一些心得体会分享出来。

二、用到的技术 

1、dubbo 

2、nacos 

微服务的注册中心选用nacos 

3、zipkin 

zipkin的作用是收集链路调用记录。 

4、RabbitMq

rabbitmq用来保存日志到消息队列,这样当有大量日志并发的时候,可以将日志暂时保存到消息队列中,日志模块再慢慢的从队列中取出消息保存到数据库。

5、数据库 

日志采用MongoDB数据库存储 

三、开发使用的IDE 

水壶哥用idea(版本号2020.3)如果没有idea,推荐使用eclipse 

四、搭建开发环境

第一步:安装jdk

项目依赖jdk11版本,自行下载jdk11或使用资源包中提供的jdk,下载地址:Java Downloads | Oracle,然后配置java环境变量,具体步骤自行百度。

第二步:安装Nacos并运行

 将资源包中的nacos解压到磁盘后,在命令行进入nacos-server-2.1.0\bin目录,随后执行startup.cmd -m standalone命令即可启动。

 启动成功后出现如下界面:

在浏览器中访问http://localhost:8848/nacos/index.html会出现如下界面:

 输入默认的用户名nacos和密码nacos,进入主界面,如下图所示:

可以看到此时并没有注册任何服务。 

 第三步:安装并运行RabbitMq

首先要安装Erlang OTP,运行资源包下的otp_win64_25.0.3.exe文件,进入安装界面

 

保持默认选项一路下一步,最后在系统环境变量中设置ERLANG_HOME,指向 Erlang OTP的安装目录

 笔者将Erlang OTP安装到了D:\DEVTOOLS2017目录下。随后在path中添加%ERLANG_HOME%\bin,如图所示

 最后解压资源包中的rabbitmq-server-windows-3.10.7.zip,将其中的rabbitmq_server-3.10.7目录解压到磁盘,解压后的目录结构如下:

在命令行进入sbin目录,然后运行rabbitmq-server.bat start命令,即可启动rabbitmq,启动成功后的界面如下:

 在浏览器访问http://localhost:15672/ 出现如下界面

 输入默认帐号guest和密码guest,进入主界面

第四步:启动zipkin 

将资源包中的zipkin-server-2.23.18-exec.jar复制到磁盘中,随后在命令行执行Java -jar zipkin-server-2.23.18-exec.jar即可启动zipkin,启动成功后的界面如下

 在浏览器访问http://localhost:9411/可以看到如下界面,这时候还没有抓取到任何链路

 五、运行项目

将资源包中的spring-cloud-bookmanager文件夹做为maven项目,用idea打开

 项目结构如下所示

 

如果项目有异常,请点击一下maven操作框的刷新按钮,idea会自动添加maven依赖

 点击右上角下拉框会看到四个主程序

 依次运行BookLogMainApplication、ConfigApplication、BookUserApplication、BookMainApplication,如果运行过程中报以下错误,请将开发环境设置为java11

 具体设置方法如下:

 启动成功后,可以看到nacos服务列表中已经注册了四个服务

六、各种链路测试

 打开BookMainController,笔者在其中写了三种链路测试:dubbo链路测试、ribbon链路测试、混合链路测试。

 1、dubbo链路测试

dubbo链路测试,顾名思义每个节点之间完全依靠dubbo接口调用,在浏览器访问http://localhost:8083/saveBook如果浏览器什么都没显示,说明运行正常,这时候刷新一下zipkin界面,可以看到抓取到了一条链路

 点进去看详细,会看到各链路之间的调用关系

 2、ribbon链路测试

 ribbon链路测试,顾名思义每个节点之间完全依靠ribbon方式调用,在浏览器访问http://localhost:8083/updateBook如果浏览器什么都没显示,说明运行正常,这时候刷新一下zipkin界面,可以看到又抓取到了一条新链路

 3、混合链路测试

  混合链路测试,是指一条链路中既有dubbo调用,又有ribbon调用,在浏览器访问http://localhost:8083/deleteBook如果浏览器什么都没显示,说明运行正常,这时候刷新一下zipkin界面,可以看到又抓取到了一条新链路

 七、需要注意的问题

1、MongoDB数据库 

项目中用到了MongoDB数据库,资源包中并没有安装程序,如果需要安装请自行下载安装,如果只是单纯的学习链路调用,可以不用按照MongoDB,需要将代码中涉及到MongoDB的部分删除即可。共有以下几个部分:

 

八、资源链接
基于SpingCloud、dubbo、nacos、zipkin、rabbitmq的微服务框架-Java文档类资源-CSDN下载基于SpingCloud、dubbo、nacos、zipkin、rabbitmq的微服务框架更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/leonMary/86732626

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西山水壶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值