国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

ApiBoot Logging整合Spring Cloud Eureka負載均衡上報日志

電子設計 ? 來源:電子設計 ? 作者:電子設計 ? 2020-12-10 22:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

ApiBoot Logging支持整合服務注冊中心(Eureka、Consul、Nacos Discovery、Zookeeper...)進行上報請求日志,Logging Client會從服務注冊中心內找到指定ServiceIDLogging Admin具體可用實例,通過SpringCloud Discovery內部的負載均衡策略返回Logging Admin的部署服務器IP以及端口,這樣Logging Client就可以完成請求日志的上報流程。

搭建Eureka Server

我們先來搭建一個Eureka Server,請訪問【搭建服務注冊中心Eureka Server】文章內容查看具體搭建流程。

將Logging Admin注冊到Eureka

既然使用的是服務注冊中心,我們需要將之前章節將的Logging Admin進行簡單的改造,添加Eureka客戶端相關的依賴,并在application.yml配置文件內添加Eureka Server的相關配置,如果對Logging Admin不了解的同學可以訪問【將ApiBoot Logging采集的日志上報到Admin】查看文章內容,文章底部有源碼。

添加Eureka Client依賴

我們需要將Logging Admin注冊到Eureka Server,對于Eureka Server而言Logging Admin是一個客戶端(Eureka Client)角色。

我們在pom.xml文件內添加如下配置:


org.springframework.cloudspring-cloud-starter-netflix-eureka-client

啟用Eureka Client

添加依賴后我們還需要在XxxApplication入口類添加@EnableDiscoveryClient注解來啟用Eureka Client的相關功能,如下所示:

@SpringBootApplication
@EnableLoggingAdmin
@EnableDiscoveryClient
public class LoggingAdminApplication {
    /**
     * logger instance
     */
    static Logger logger = LoggerFactory.getLogger(LoggingAdminApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(LoggingAdminApplication.class, args);
        logger.info("{}服務啟動成功.", "日志管理中心");
    }
}

配置注冊到Eureka Server

我們在application.yml配置文件內添加連接到Eureka Server的相關配置信息,如下所示:

# Eureka Config
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10000/eureka/
  instance:
    prefer-ip-address: true

將Logging Client注冊到Eureka

Logging Client其實就是我們的業務服務,不要被名稱誤導,我們在本章源碼內創建一個user-service模塊來作為測試的業務服務,我們也需要將user-service作為客戶端注冊到Eureka Server,可參考【使用ApiBoot Logging進行統一管理請求日志】文章內容創建項目。

添加Eureka Client依賴

pom.xml配置文件內添加如下依賴:


org.springframework.cloudspring-cloud-starter-netflix-eureka-client

啟用Eureka Client

添加依賴后同樣需要啟用Eureak Client,這是必不可少的步驟,在我們的入口類XxxApplication上添加如下所示:

@SpringBootApplication
@EnableDiscoveryClient
@EnableLoggingClient
public class UserServiceApplication {
    /**
     * logger instance
     */
    static Logger logger = LoggerFactory.getLogger(UserServiceApplication.class);

    public static void main(String[] args) {
        SpringApplication.run(UserServiceApplication.class, args);
        logger.info("{}服務啟動成功.", "用戶");
    }
}

配置注冊到Eureka Server

我們在application.yml配置文件內添加Eureka Server的相關配置信息,如下所示:

# Eureka Config
eureka:
  client:
    service-url:
      defaultZone: http://127.0.0.1:10000/eureka/
  instance:
    prefer-ip-address: true

配置Logging Admin服務信息

這是本章的核心內容,我們在之前都是通過api.boot.logging.admin.server-address參數進行配置Logging AdminIP地址以及服務端口號,而本章我們就要借助服務注冊中心(Eureka Server)來從實例列表中獲取Logging Admin服務信息,ApiBoot Logging提供了一個配置參數api.boot.logging.discovery.service-id進行配置Logging AdminServiceID,也就是spring.application.name參數對應的值,如下所示:

# ApiBoot Config
api:
  boot:
    logging:
      discovery:
        # Logging Admin ServiceID
        service-id: logging-admin
      show-console-log: true
      format-console-log-json: true
每當我們發起請求時,Logging Client就會從Eureak Server內獲取ServiceID = logging-admin的服務列表,負載均衡篩選后獲取一個可用的實例信息進行上報日志。

運行測試

我們將本章源碼內用到的三個服務eureka-serverlogging-adminuser-service依次啟動。

通過curl命令訪問user-service提供的Controller地址,如下所示:

? ~ curl http://localhost:9090/test/?name/=admin
你好:admin

我們可以在logging-admin控制臺看到user-service上報的請求日志信息,如下所示:

Receiving Service: 【user-service -> 127.0.0.1】, Request Log Report,Logging Content:[
    {
        "endTime":1572921905360,
        "httpStatus":200,
        "requestBody":"",
        "requestHeaders":{
            "host":"localhost:9090",
            "user-agent":"curl/7.64.1",
            "accept":"*/*"
        },
        "requestIp":"0:0:0:0:0:0:0:1",
        "requestMethod":"GET",
        "requestParam":"{/"name/":/"admin/"}",
        "requestUri":"/test",
        "responseBody":"你好:admin",
        "responseHeaders":{},
        "serviceId":"user-service",
        "serviceIp":"127.0.0.1",
        "servicePort":"9090",
        "spanId":"d97c515f-a147-4f89-9c59-398905c95a73",
        "startTime":1572921905336,
        "timeConsuming":24,
        "traceId":"5e6c0357-1625-4a28-af18-cacdddba146a"
    }
]

自此我們已經成功的整合EurekaApiBoot Logging

敲黑板,劃重點

ApiBoot Logging內部提供的兩種獲取Logging Admin服務信息的方式,分別是:service-idserver-address,都是比較常用的,使用service-id方式可以無縫整合SpringCloud進行使用,而鏈路信息可以通過OpenfeignRestTemplate進行傳遞,這會在我們后期的知識點中講到。

審核編輯 黃昊宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • JAVA
    +關注

    關注

    20

    文章

    3001

    瀏覽量

    116422
  • spring
    +關注

    關注

    0

    文章

    341

    瀏覽量

    15935
  • MySQL
    +關注

    關注

    1

    文章

    905

    瀏覽量

    29518
  • 人臉識別
    +關注

    關注

    77

    文章

    4127

    瀏覽量

    88459
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    阿里云SLB負載均衡配置指南

    當業務流量超過單臺服務器的承載能力,或者需要實現服務的高可用時,負載均衡成為必不可少的基礎設施。阿里云SLB(Server Load Balancer)作為國內使用最廣泛的云負載均衡
    的頭像 發表于 01-30 17:47 ?1427次閱讀

    Nginx反向代理和負載均衡配置實戰

    負載均衡則是反向代理的進階玩法。當一臺后端服務器扛不住流量的時候,就需要多臺服務器一起分擔壓力。Nginx負責把請求分發到不同的服務器上,這就是負載均衡
    的頭像 發表于 01-23 13:44 ?649次閱讀

    彈性負載均衡:現代 IT 架構的高可用與高并發基石

    前言在數字化浪潮下,互聯網服務的訪問量呈爆炸式增長,單臺服務器早已難以承載海量并發請求。此時,負載均衡(LoadBalancing)技術應運而生,成為優化資源分配、提升系統性能的核心支撐。作為現代
    的頭像 發表于 01-20 09:58 ?142次閱讀
    彈性<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>:現代 IT 架構的高可用與高并發基石

    逐流、逐包、Flowlet:哪種負載均衡技術更適合未來網絡?

    當前主流的負載均衡技術主要包括三種類型:逐流的ECMP負載均衡、逐包負載均衡以及基于子流(Flo
    的頭像 發表于 09-22 14:17 ?2743次閱讀
    逐流、逐包、Flowlet:哪種<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>技術更適合未來網絡?

    燃料電池負載均衡測試:解鎖高效供能密碼

    在新能源領域蓬勃發展的當下,燃料電池憑借其清潔、高效的特性脫穎而出。而負載均衡測試作為確保燃料電池穩定運行與性能優化的關鍵環節,意義非凡。以下是一套全面且實用的燃料電池負載均衡測試方案
    發表于 09-18 13:51

    華納云:海外服務器負載均衡與高可用架構設計

    在現代互聯網應用中,海外服務器承擔著跨境業務、高并發請求和實時數據傳輸的關鍵角色。單臺服務器難以支撐大量并發請求,一旦發生故障,可能導致服務中斷和業務損失。因此,合理設計負載均衡與高可用架構,能夠
    的頭像 發表于 08-28 18:32 ?655次閱讀

    怎樣確定分布式光伏集群通信網絡的負載均衡策略?

    LZ-DZ100電能質量在線監測裝 確定分布式光伏集群通信網絡的負載均衡策略,需結合集群的網絡拓撲、數據特征、設備特性及運行需求,通過 “現狀分析→目標設定→策略設計→驗證優化” 的流程逐步推進
    的頭像 發表于 08-22 10:10 ?572次閱讀
    怎樣確定分布式光伏集群通信網絡的<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>策略?

    Nginx負載均衡策略選擇指南

    上個月,我們的電商系統在大促期間突然出現用戶購物車數據丟失的問題。經過排查發現,罪魁禍首竟然是負載均衡策略配置不當!
    的頭像 發表于 08-20 16:23 ?916次閱讀

    一文詳解Nginx負載均衡

    Nginx作為負載均衡器,通過將請求分發到多個后端服務器,以提高性能、可靠性和擴展性。支持多種負載均衡算法,如輪詢、最小連接數、IP哈希等,可以根據需求選擇適合的算法。
    的頭像 發表于 06-25 14:51 ?1081次閱讀
    一文詳解Nginx<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>

    遠程日志errDump調試功能實戰教程:案例驅動的故障排查!

    及Air8101開發板實操驗證。 ? 一、errDump功能介紹 1.1 errDump有什么用? errDump是LuatOS系統中的錯誤日志上報模塊,主要用于遠程調試與故障診斷。 其原理是將模塊運行過程中產生的錯誤信息或者應用日志
    的頭像 發表于 06-09 16:51 ?739次閱讀
    遠程<b class='flag-5'>日志</b>errDump調試功能實戰教程:案例驅動的故障排查!

    詳解journalctl日志管理

    systemd 提供了自己的日志系統(logging system),稱為 journal。使用 systemd 日志,無需額外安裝日志服務(syslog)。
    的頭像 發表于 06-05 17:22 ?1541次閱讀
    詳解journalctl<b class='flag-5'>日志</b>管理

    四層和七層負載均衡的核心區別

    在現代分布式系統和云計算架構中,負載均衡(Load Balancing, LB)是確保高可用性、可擴展性和性能優化的關鍵技術。負載均衡器根據不同的OSI模型層級工作,主要分為四層(L4
    的頭像 發表于 05-29 17:42 ?1303次閱讀

    NetApp與Google Cloud合作,簡化云端高性能工作負載的擴展

    降低了云端存儲工作負載的復雜性并提升了其性能,同時還能完全集成到Google Cloud服務生態系統中。客戶將能夠輕松擴展高性能的企業應用程序和數據庫,包括擁有PB級數據集的工作負載,如電子設計自動化
    的頭像 發表于 04-10 16:48 ?635次閱讀

    Kubernetes負載均衡器MetalLB介紹

    Kubernetes中一個應用服務會有一個或多個實例,每個實例(Pod)的IP地址由網絡插件動態隨機分配(Pod重啟后IP地址會改變)。為屏蔽這些后端實例的動態變化和對多實例的負載均衡,引入了 Service這個資源對象。
    的頭像 發表于 03-18 16:24 ?932次閱讀
    Kubernetes<b class='flag-5'>負載</b><b class='flag-5'>均衡</b>器MetalLB介紹

    常見網絡負載均衡的幾種方式

    常見網絡負載均衡的幾種方式包括:DNS負載均衡、反向代理負載均衡、IP
    的頭像 發表于 03-06 11:14 ?1454次閱讀