欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Druid監(jiān)控分布式實(shí)現(xiàn)過程解析

 更新時間:2020年11月19日 11:08:41   作者:冷冷zz  
這篇文章主要介紹了Druid監(jiān)控分布式實(shí)現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下

什么是 Druid Monitor

Druid 是一個非常強(qiáng)大的數(shù)據(jù)庫連接池,但是它的強(qiáng)大并不僅僅體現(xiàn)在作為一個高性能連接池加快數(shù)據(jù)訪問上和連接管理上,它內(nèi)置了一個強(qiáng)大的監(jiān)控工具:Druid Monitor。不僅可以監(jiān)控?cái)?shù)據(jù)源和慢查詢,還可以監(jiān)控 Web 應(yīng)用、URI 監(jiān)控、Session 監(jiān)控、Spring 監(jiān)控等。

ip:port/druid/sql.html

什么是 Druid Admin

如上文所述, Druid Monitor 提供強(qiáng)大的監(jiān)控能力,但目前僅是針對對單個服務(wù)實(shí)例的監(jiān)控。 在微服務(wù)架構(gòu)日益流行的時下,同一個服務(wù)可能有會有 N 個實(shí)例,監(jiān)控維度需要上升至 集群。

官方在 druid 1.2.1 版本后,提供 druid-admin 模塊 來解決集群監(jiān)控的問題。

如下圖我們可以在原有的監(jiān)控集群上可以動態(tài)的切換服務(wù)名稱,做到一個監(jiān)控入口,實(shí)現(xiàn)不同服務(wù)的監(jiān)控切換。

Spring Cloud Stater 封裝

目前官方的 druid-admin 正在開發(fā)工程中,并不能直接編譯運(yùn)行(依賴包錯誤、不支持 java11 等)。

druid-admin 本身是一個直接可運(yùn)行的 web 服務(wù),對目前已有服務(wù)不太友好,不能做到 spring boot admin 那種即插即用

所以基于上述問題,筆者對 druid-admin 進(jìn)行了相關(guān)的修改,直接抽取成 spring boot starter 引入即用。

1. 增加依賴

		<dependency>
			<groupId>com.pig4cloud.plugin</groupId>
			<artifactId>spring-cloud-starter-druid-monitor</artifactId>
			<version>0.0.1</version>
		</dependency>


		<!--注冊中心客戶端(支持 nacos/eureka/consul)-->
		<dependency>
			<groupId>com.alibaba.cloud</groupId>
			<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
		</dependency>

2. 接入注冊中心和需要監(jiān)控的服務(wù)列表

spring:
 cloud:
  nacos:
   discovery:
    server-addr: 127.0.0.1:8848

# druid-admin 需要監(jiān)控的列表
monitor:
 applications:
  - pigx-upms-biz
  - pigx-auth

3. 目標(biāo)服務(wù)暴露 druid 監(jiān)控端點(diǎn)

spring:
 datasource:
  druid:
   stat-view-servlet:
    enabled: true
    allow: ""
    url-pattern: /druid/*

4. 訪問 druid-admin

查看集群監(jiān)控ip:port/druid/sql.html

整合 Spring Boot Admin

引入上述依賴,增加如下配置即可

spring:
 boot:
  admin:
   ui:
    external-views:
     - label: "SQL監(jiān)控"
      url: /druid/sql.html
      order: 2000

使用限制

由于 druid monitor 的登錄校驗(yàn)基于 session 設(shè)計(jì),所有在無狀態(tài)的微服務(wù)中不適用。建議直接暴露所有 druid 相關(guān)的端點(diǎn),通過前置網(wǎng)關(guān)統(tǒng)一接口權(quán)限。

目前實(shí)例監(jiān)控?cái)?shù)據(jù)是保存在對應(yīng)內(nèi)存中,僅在查看時通過每個實(shí)例匯總后顯示,后期會實(shí)現(xiàn)持久化。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論