[SpringCloud-Zipkin] Zipkin搭建分布式链路跟踪平台 -- 第二篇

  • 这一篇,我们搭建Http + Mysql 和Kafka + mysql两种模式
Http + Mysql
  • Http + Mysql 模式,在第一篇的基础上,client端不需要做修改,只需要修改server端即可,server端添加mysql的相关配置和依赖即可,添加下面的依赖:
依赖:
<!--ZipKin组件持久化依赖--> 		
	<dependency> 			
		<groupId>io.zipkin.java</groupId> 			
		<artifactId>zipkin-storage-mysql</artifactId>
 	</dependency> 		
 	<dependency> 			
 		<groupId>org.springframework.boot</groupId> 			
 		<artifactId>spring-boot-starter-jdbc</artifactId>
 	</dependency>
 	<dependency>
 		 <groupId>mysql</groupId>
 		 <artifactId>mysql-connector-java</artifactId> 		
 	</dependency>
 配置:
 zipkin.storage.type = mysql
spring.datasource.url = jdbc:mysql://192.168.xx.xx:3306/xxx
spring.datasource.username = xxx
spring.datasource.password = xxx
spring.datasource.driver-class-name = com.mysql.jdbc.Driver
spring.datasource.schema[0] = classpath:/xxx.sql
spring.datasource.initialize = true
spring.datasource.continue-on-error = true
kafka + Mysql
  • 使用kafka做消息队列传输消息,可以增大吞吐量,提高性能,同事client端不依赖server端了,只依赖kafka,server端挂了也不影响,这种模式client和server端都需要添加对kafka的支持,因此与前面http的通信方式不同,依赖也有很大不同;
Client端
依赖:
<!--zipkin with kafka begin-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-sleuth</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>io.zipkin.java</groupId>
                    <artifactId>zipkin-server</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-stream-kafka</artifactId>
        </dependency>
        <!--zipkin with kafka end-->
        没有写版本号,需要添加以下配置:
        <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Dalston.SR5</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>
配置:
spring.sleuth.sampler.percentage = 1 #默认0.1
spring.sleuth.enabled = true		#默认true
spring.cloud.stream.kafka.binder.brokers = 192.168.xx.xx:9092  #可以配置多个
spring.cloud.stream.kafka.binder.zkNodes = 192.168.xx.xx:2181  #可以配置多个
Server端
依赖:
<!--ZipKin组件依赖-->
		<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-autoconfigure-ui</artifactId>
		</dependency>
 		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-stream-kafka</artifactId>
		</dependency>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-sleuth</artifactId>
		</dependency>
		<!--ZipKin组件依赖End-->
		不写版本号需要添加:
		<dependencyManagement>
		     <dependencies>
	            <dependency>
	                <groupId>org.springframework.cloud</groupId>
	                <artifactId>spring-cloud-dependencies</artifactId>
	                <version>${spring.cloud.version}</version>
	                <type>pom</type>
	                <scope>import</scope>
	            </dependency>
	        </dependencies>
	    </dependencyManagement>
配置:
(添加下面关于kafka的配置,其余的配置不变)
spring.sleuth.enabled=false
spring.sampler.percentage=1
spring.cloud.stream.kafka.binder.brokers=192.168.xx.xxx:9092
spring.cloud.stream.kafka.binder.zkNodes=192.168.xx.xxx:2181
spring.cloud.stream.kafka.binder.min-partition-count=1
spring.cloud.stream.kafka.binder.auto-add-partitions=true
spring.cloud.stream.kafka.binder.replication-factor=1
更换注解:
HTTP形式使用注解@EnableZipkinServer,中间件形式使用注解@EnableZipkinStreamServer
总结
  • 到此搭建完成,后面介绍kafka+ES的搭建方式
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值