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

  • 这一篇,我们搭建Http + Mysql 和Kafka + mysql两种模式

Http + Mysql

  • Http + Mysql 模式,在第一篇的基础上,client端不需要做修改,只需要修改server端即可,server端添加mysql的相关配置和依赖即可,添加下面的依赖:
依赖:
 		
	 			
		io.zipkin.java 			
		zipkin-storage-mysql
 	 		
 	 			
 		org.springframework.boot 			
 		spring-boot-starter-jdbc
 	
 	
 		 mysql
 		 mysql-connector-java 		
 	
 配置:
 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端
依赖:

        
            org.springframework.cloud
            spring-cloud-starter-sleuth
        

        
            org.springframework.cloud
            spring-cloud-sleuth-zipkin-stream
            
                
                    io.zipkin.java
                    zipkin-server
                
            
        

        
            org.springframework.cloud
            spring-cloud-starter-stream-kafka
        
        
        没有写版本号,需要添加以下配置:
        
        
            
                org.springframework.cloud
                spring-cloud-dependencies
                Dalston.SR5
                pom
                import
            
        
    
配置:
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端
依赖:

		
			io.zipkin.java
			zipkin-autoconfigure-ui
		
 		
			org.springframework.cloud
			spring-cloud-sleuth-zipkin-stream
		
		
			org.springframework.cloud
			spring-cloud-starter-stream-kafka
		
		
			org.springframework.cloud
			spring-cloud-starter-sleuth
		
		
		不写版本号需要添加:
		
		     
	            
	                org.springframework.cloud
	                spring-cloud-dependencies
	                ${spring.cloud.version}
	                pom
	                import
	            
	        
	    
配置:
(添加下面关于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的搭建方式

你可能感兴趣的:(微服务)