溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

基于springboot怎么構(gòu)建鏈路調(diào)用監(jiān)控系統(tǒng)

發(fā)布時間:2022-03-29 13:53:16 來源:億速云 閱讀:243 作者:iii 欄目:大數(shù)據(jù)

本篇內(nèi)容介紹了“基于springboot怎么構(gòu)建鏈路調(diào)用監(jiān)控系統(tǒng)”的有關(guān)知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

     spring cloud的開發(fā)是基于微服務(wù)架構(gòu)的,因此當(dāng)整個業(yè)務(wù)系統(tǒng)開發(fā)到了一定階段,我們的微服務(wù)可能就會達到幾十個,那么這時候微服務(wù)之間的互相調(diào)用整個網(wǎng)絡(luò)就像蜘蛛網(wǎng)一樣,而且很多蜘蛛網(wǎng)可能是程序員在編寫的時候作為架構(gòu)師的我們完全不知道的,那么這有可能導(dǎo)致某個版本發(fā)布的時候出現(xiàn)嚴(yán)重的調(diào)用鏈問題,因此我們需要構(gòu)建一個工程來監(jiān)控我們的調(diào)用鏈路,保證我們的程序上線的時候程序員是按照架構(gòu)師的設(shè)計去開發(fā)的而不是自己隨便亂來的。

     那么直接在我們的spring-cloud-rbac工程上創(chuàng)建我們的鏈路調(diào)用監(jiān)控系統(tǒng),如下所示:

基于springboot怎么構(gòu)建鏈路調(diào)用監(jiān)控系統(tǒng)

     在我們的zinpkin工程中的pom.xml文件中加入以下的配置:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
	<modelVersion>4.0.0</modelVersion>

	<groupId>com.zinpkin</groupId>
	<artifactId>zinpkin</artifactId>
	<version>0.0.1-SNAPSHOT</version>
	<packaging>jar</packaging>

	<name>zinpkin</name>
	<description>鏈路調(diào)用監(jiān)控系統(tǒng)</description>

	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.5.9.RELEASE</version>
		<relativePath/> <!-- lookup parent from repository -->
	</parent>

	<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
		<java.version>1.8</java.version>
	</properties>

	<dependencies>
		<dependency>
			<groupId>org.springframework.cloud</groupId>
			<artifactId>spring-cloud-starter-eureka</artifactId>
		</dependency>

		<!-- 引入zinpkin 服務(wù)-->
		<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-server</artifactId>
		</dependency>
		<!-- 引入zinpkin 頁面服務(wù)-->
		<dependency>
			<groupId>io.zipkin.java</groupId>
			<artifactId>zipkin-autoconfigure-ui</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>

		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>
	</dependencies>

	<dependencyManagement>
		<dependencies>
			<dependency>
				<groupId>org.springframework.cloud</groupId>
				<artifactId>spring-cloud-dependencies</artifactId>
				<version>Edgware.RELEASE</version>
				<type>pom</type>
				<scope>import</scope>
			</dependency>
		</dependencies>
	</dependencyManagement>

	<build>
		<plugins>
			<plugin>
				<groupId>org.springframework.boot</groupId>
				<artifactId>spring-boot-maven-plugin</artifactId>
			</plugin>
		</plugins>
	</build>


</project>

     接著在我們的主類上開啟我們的zinpkin注解的支持如下所示:

package com.zinpkin;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import zipkin.server.EnableZipkinServer;

@SpringBootApplication
@EnableEurekaClient
@EnableZipkinServer
public class ZinpkinApplication {

	public static void main(String[] args) {
		SpringApplication.run(ZinpkinApplication.class, args);
	}
}

     接著我們在resource中新建一個application-prod.properties配置文件如下所示,同時大家要記得像上一章一樣在我們的啟動項環(huán)境配置里加入spring.profiles.active 等于 prod的配置項,否則會導(dǎo)致大家啟動的zinpkin沒有訪問到我們的配置文件:

spring.application.name=zipkin-server
server.port=9100
# 注冊中心地址
eureka.client.serviceUrl.defaultZone=http://fjhyll:hyll-2.0@127.0.0.1:2100/eureka/

訪問以下地址:http://127.0.0.1:9100/zipkin/大家可以看到如下所示的效果:

基于springboot怎么構(gòu)建鏈路調(diào)用監(jiān)控系統(tǒng)

“基于springboot怎么構(gòu)建鏈路調(diào)用監(jiān)控系統(tǒng)”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI