从零搭建一个springcloud项目之sleuth+zipkin(代码片段)

女友在高考 女友在高考     2022-12-25     231

关键词:

在需要加监控的服务上进行以下操作

一、加入Sleuth

  1. 加依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
 </dependency>

二、加入Zipkin

2.1 使用http的方式

sleuth加入之后是没有界面的,所以我们需要使用Zipkin。

服务端:

  1. 下载Zipkin,下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
  2. 启动zipkin Server

java -jar .\zipkin-server-2.12.9-exec.jar

  1. 进入网页

http://localhost:9411/

客户端:

  1. 加依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
  1. 加配置文件
spring.zipkin.base-url=http://localhost:9411/
spring.sleuth.web.client.enabled=true
#采样比例,默认0.1,1表示全部上报
spring.sleuth.sampler.probability=1

配置完成,接下来可以在调用接口,然后进入zipkin的网页里查找调用记录了

2.2 升级为使用MQ

因为每次调用微服务接口都要上报数据,服务端的压力就会很大,所以可以选择采用mq的方式进行削峰,解耦

  1. 加参数启动zipkin服务端

RABBIT_ADDRESSES=localhost java -jar ../zipkin-server-2.12.9-exec.jar

  1. 加依赖
<dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-stream-binder-rabbit</artifactId>
  </dependency>
  1. 修改参数
#配置zipkin
#spring.zipkin.base-url=http://localhost:9411/
spring.zipkin.sender.type=rabbit
spring.sleuth.web.client.enabled=true
#采样比例,默认0.1,1表示全部上报
spring.sleuth.sampler.probability=1
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/

再次调用就是使用mq的方式上报了。

2.3 使用数据库存储

目前数据上报都是存在内存中的,zipkin Server重启数据就没了,所以我们可以需要持久化一下,常用的方式是存ES或者mysql,这里演示mysql的做法。

  1. 创建数据库zipkin
  2. 执行官方提供的sql脚本建表

https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

  1. 使用以下命令启动

RABBIT_ADDRESSES=localhost STORAGE_TYPE=mysql MYSQL_USER=root MYSQL_PASS=root MYSQL_HOST=localhost MYSQL_TCP_PORT=3306 java -jar zipkin-server-2.12.9-exec.jar

  1. 调用微服务

发现数据库已经开始写入数据,重启zipkin,再查找,数据还在,表示成功

springcloud项目之feign搭建

从零搭建一个SpringCloud项目之Feign搭建工程简述目的:实现trade服务通过feign调用user服务的功能。因为trade服务会用到user里的一些类和接口,所以抽出了其他服务需要的东西到user-api工程。避免trade直接依赖user导致依赖多余的东西... 查看详情

java之springcloud微服务搭建consul(第一个阶段)springboot项目实现商品服务器端是调用(代码片段)

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

java之springcloud微服务的开源配置中心apollo(第四个阶段)springboot项目实现商品服务器端调用(代码片段)

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

怎么从零开始写一个秒杀项目

...环境搭建  技术选型,该秒杀项目是采用springboot2.0和springCloud来开发的  1首先搭建父项目,所有的模块都是依赖该父项目  2搭建服务注册中心模块(Eureka)  3秒杀用户模块(集成mybatis,web,thymeleaf等),相当于买家 ... 查看详情

从零开始系列之vue全家桶带新手小白一起搭建第一个个人网站项目

未经允许,严禁转载,全文由blackchaos提供。 在安装好了前面大部分需要的插件,我们开始进行第一个个人项目。结合vue+vuex+vue-cli+vue-router+webpack使用。 1.我们先写用vue-router来单页面切换路由。先进入src文件夹。在component... 查看详情

java之springcloud微服务eureka(第一个阶段)springboot项目实现商品服务器端是调用

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

java之springcloud微服务搭建(第一个阶段)springboot项目实现商品服务器端是调用(代码片段)

Java之SpringCloud微服务入门到精通Spring微服务快速入门(Eureka)一、Springcloud微服务概述1、微服务中的相关概念(1)服务注册与发现(2)负载均衡(3)熔断(4)链路追踪(5)API网关2... 查看详情

从零开始搭建django前后端分离项目系列五(实战之excel流式导出)(代码片段)

项目中有一处功能需求是:需要在历史数据查询页面进行查询字段的选择,然后由后台数据库动态生成对应的excel表格并下载到本地。 如果文件较小,解决办法是先将要传送的内容全生成在内存中,然后再一次性传入Response... 查看详情

5.springcloud微服务架构搭建之《springboot集成hystrix》(代码片段)

1.springcloud微服务架构搭建之《springboot自动装配Redis》2.springcloud微服务架构搭建之《springboot集成nacos注册中心》3.springcloud微服务架构搭建之《springboot自动装配ribbon》4.springcloud微服务架构搭建之《springboot集成openFeign》目录1.项目... 查看详情

从零开始玩转springcloud:config配置中心(代码片段)

从零开始玩转SpringCloud(四):Config配置中心SpringCloudConfig项目是一个解决分布式系统的配置管理方案。它包含了Client和Server两个部分,server提供配置文件的存储、以接口的形式将配置文件的内容提供出去,clie... 查看详情

从零搭建springcloud服务(超级详细)

作者: Anakki;链接:blog.csdn.net/qq_29519041/article/details/85238270这里会介绍很多基础知识,直接想开始搭建微服务的可以看第二章,微服务的搭建。直接看第二章不会有什么影响,可以先学会开车再学习车的... 查看详情

java之springcloud微服务的开源配置中心apollo(第四个阶段)springboot项目实现商品服务器端调用(代码片段)

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

java之springcloud微服务的链路追踪sleuth和zipkin(第三个阶段)springboot项目实现商品服务器端是调用

SpringCloud学习目录点击跳转对应的文章Java之SpringCloud微服务搭建(第一个阶段)【一】【SpringBoot项目实现商品服务器端是调用】Java之SpringCloud微服务Eureka(第一个阶段)【二】【SpringBoot项目实现商品服务器端是调... 查看详情

根据官方文档搭建springcloud之eureka

前言:  虽说之前在项目中也用过几次springcloud,但全部都是参考百度或者github上面的学习参考资料,刚好最近没事,抱着学习看文档和温习springcloud的心态,基于官方给出的文档重新搭建一次。为啥一定要看官方呢,因为官... 查看详情

从零学springcloud:1-1课:springboot环境搭建

    要入门,是先把环境先部署起来    一、开发IDE    目前JetBranins 的是使用最多的,下载地扯:https://www.jetbrains.com/idea/?fromMenu,如果不习惯使用英语,汉化也很容易。当前版本是2019.1.1,工具更新较快。不... 查看详情

微服务课程之springcloud概述及微服务搭建(代码片段)

...优点,缺点分布式框架(微服务)的演变过程springcloud简介和特征springcloud组件和体系架构搭建父子项目,编写一个微服务3,具体内容3.1微服务的概念微服务(microservice),是一种架构风格, 查看详情

springcloud之eureka入门使用

搭建Eureka服务端(注册中心) 新建一个maven项目项目名为eureka-server pom.xml<projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://mave 查看详情

一起来学springcloud|第一章:如何搭建一个多模块的springcloud项目

在springcloud系列章节中,本来已经写了几个章节了,但是自己看起来有些东西写得比较杂,所以重构了一下springcloud的章节内容,新写了本章节,先教大家在工作中如何搭建一个多模块的springcloud项目。本章及后面章节,我们使用... 查看详情