SpringBoot之微服務日誌鏈路追蹤

SpringBoot之微服務日誌鏈路追蹤

簡介

在微服務里,業務出現問題或者程序出的任何問題,都少不了查看日誌,一般我們使用 ELK 相關的日誌收集工具,服務多的情況下,業務問題也是有些難以排查,只能確定大致時間定位相關日誌。log-trace-spring-boot-starter 解決多個服務調用日誌的問題,它可以將一個完整的調用鏈給整合為一個完整有序的日誌。

支持組件:

  • zuul 調用
  • feign 調用
  • restTemplate 調用

日誌輸出格式:

2019-11-14 14:22:07.796  INFO [log-trace-service-a-demo,ac8ffaaed5f343da,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-7] c.p.l.t.service.a.demo.TestController    : controller test2 執行 ac8ffaaed5f343da
2019-11-14 14:23:15.569  INFO [log-trace-service-a-demo,04cf5392dc5c4881,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-9] c.p.l.t.service.a.demo.TestController    : controller test2 執行 04cf5392dc5c4881
2019-11-14 14:24:44.183  INFO [log-trace-service-a-demo,86b5c555ce4f4451,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-1] c.p.l.t.service.a.demo.TestController    : controller test2 執行 86b5c555ce4f4451

我們可以通過 86b5c555ce4f4451 id 進行查詢鏈路上的所有日誌信息。

log-trace-service-a-demo 為當前應用。
log-trace-zuul-demo 為上游應用。

當然這些參數可以基於業務定製的。

功能使用

添加依賴

ps: 實際version版本請使用最新版
最新版本:

<dependency>
  <groupId>com.purgeteam</groupId>
  <artifactId>log-trace-spring-boot-starter</artifactId>
  <version>0.1.0.RELEASE</version>
</dependency>

ps: 請基於 SpirngBoot2.1.x 版本使用

配置應用

這裏以3個微服務來舉例子。

  1. log-trace-zuul-demo 充當網關功能
  2. log-trace-service-a-demo 充當服務A
  3. log-trace-service-b-demo 充當服務B

調用鏈路為:

log-trace-zuul-demo -> log-trace-service-a-demo TestController#test -> log-trace-service-b-demo TestController#test

訪問網關地址: http://127.0.0.1:8000/a/test

網關日誌如下:

2019-11-14 14:27:37.434 DEBUG [33b07a9c5f324375,this] 89996 --- [nio-8000-exec-1] c.p.l.t.s.i.zuul.TracePreZuulFilter      : zuul traceid 33b07a9c5f324375

網關轉發至服務A

服務A 日誌如下:

2019-11-14 14:27:37.476  INFO [log-trace-service-a-demo,33b07a9c5f324375,log-trace-zuul-demo,,] 88948 --- [nio-8081-exec-5] c.p.l.t.service.a.demo.TestController    : controller test2 執行 33b07a9c5f324375

服務A 調用 服務B

服務B 日誌如下:

2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.t.servcie.b.demo.TestController    : header traceId 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.t.servcie.b.demo.TestController    : controller test 執行 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.trace.servcie.b.demo.TestService   : test 方法執行 33b07a9c5f324375
2019-11-14 14:27:37.478  INFO [log-trace-service-b-demo,33b07a9c5f324375,log-trace-service-a-demo,,] 88952 --- [nio-8082-exec-3] c.p.l.trace.servcie.b.demo.TestService   : test1 方法執行 33b07a9c5f324375

這樣可以在第三方日誌平台按照一個id進行查詢了。

ELK 通過 33b07a9c5f324375 id 查詢出相關的所有鏈路調用。

配置輸出格式

目前支持以上參數:

X-B3-ParentName 上游服務名稱
X-B3-TraceId 為一個請求分配的ID號,用來標識一條請求鏈路。

通過 application.properties 進行配置。

spring.trace.log.format=X-B3-TraceId,X-B3-ParentName


`spring.trace.log.format` 配置參數順序將影響日誌輸出格式。

不配置將按照默認格式輸出。

日誌輸出如下:

2019-11-14 14:27:37.434 DEBUG [33b07a9c5f324375,this] 89996 --- [nio-8000-exec-1] c.p.l.t.s.i.zuul.TracePreZuulFilter      : zuul traceid 33b07a9c5f324375

總結

目前實現了日誌連貫的功能,後續將支持定製輸出 比如按照登陸人員id進行輸出,方便追蹤用戶行為。
框架方便後續支持 Dubbo 等。

示例代碼地址:

作者GitHub:
歡迎關注

qq交流群: 812321371 微信交流群: MercyYao

微信公眾號:

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

西班牙東北部化學工廠爆炸 釀1死6傷

摘錄自2020年1月15日中央社報導

西班牙東北部發生化學工廠爆炸事故,造成一人喪命,傷及六人。當地媒體引述消防人員的說法表示,爆炸很有可能是化學意外所引起。

「先鋒報」(La Vanguardia)和「國家報」(ElPais)等媒體在網站上表示,這起在塔拉戈納省(Tarragona)發生的爆炸引發衝擊波,造成一棟建築物坍塌,一人身亡。

加泰隆尼亞救災服務處發言人證實,附近有建築物倒塌並有一人喪生,但還無法確定大樓倒塌與爆炸或大火有關。

民防局建議附近民眾待在室內,並預防性緊鎖門窗,但說:「沒有證據顯示(爆炸)產生有毒的煙霾。」

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

中國向美國買稀土 美中貿易協議內容引議論

摘錄自2020年1月16日中央社報導

中美16日達成第一階段貿易協議,協議中驚現中國向美國購買稀土的承諾。由於中國是全球最大的稀土生產國,貿易戰中也曾宣稱以限制稀土出口反制美國,這項承諾立即引起外界議論。

在中美第一階段貿易協議中,中國承諾未來兩年向美國購買2000億美元產品。路透社報導,其中包括鈧和釔等兩種用於生產燈具和電腦的稀土。稀土曾被視為中國的「殺手鐧」,如今中國卻向美國購買,箇中原因引起各方議論。

此外,報導也指出,美國國防部近幾個月已採取行動,為美國的稀土、稀土磁鐵項目提供資金,目的是要建立一個沒有中國的「國內供應鍊」。

本站聲明:網站內容來源環境資訊中心https://e-info.org.tw/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

福建物價局:電動汽車充電服務費1.2元/度為上限

據福建省物價局最新批復,電動汽車充電服務費實行政府指導價管理,充電服務費標準(不含電費)上限按1.2元/度收取,下浮不限。   理論上來說,給電動汽車充電採取“充電服務費+電費”的繳費方式。充電電費方面,分兩種情況

  1. 集中接入電網的充電樁,高峰時段0.9139元/度,低谷時段0.3305元/度,其餘時段0.6222元/度。
  2. 分散接入電網的充電樁,居民家庭住宅、居民住宅社區的充電設施收0.533元/度;到黨政機關、企事業單位和社會公共停車場中設置的充電設施用電高峰時段收1.15975元/度,低谷時段收0.41445元/度,其餘時段收0.7871元/度。

據悉,相比於汽油、天然氣,用電的成本更低。據業內人士統計,在廈門,計程車司機用油每公里成本在0.6元-0.7元,用氣每公里成本約在0.4元,而用電每公里成本在0.3元。目前,廈門新建的充電樁設備只有計程車可充電,未對社會車輛開放。運管處相關人士透露,他們上月報備的充電服務費為0.6元/度。   而對於從事電動汽車充換電設施服務的經營性企業來說,2020年前免收基本電費。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

這是下一個 Tesla!新創公司 Faraday 宣布 10 億美元電動車投資計畫

近日一家在洛杉磯成立的新創公司 Faraday Future 引發了巨大關注,號稱投資 10 億美元建設電動車製造廠,據該公司官網顯示 4 位副總裁來自 Tesla,團隊規模大約為 400 人,這一投資規模在整個電動車產業來看,都不是一筆小數目。

Faraday Future 的總部位於洛杉磯南部,相比於一般新創公司而言,Faraday Future 的團隊規模比較大,目前已經擁有了 400 名員工,這家專注於電動車市場的新創公司並沒有在業內引發太多關注。最近華爾街日報報導該公司宣布投資 10 億美元建廠,這一筆投資使得 Faraday 聲名大振。   據該公司的網站資訊顯示,Faraday Future 將以使用者為中心,把一流的技術引入電動車設計、致力於連結使用者的駕駛體驗和生活。4 位副總裁均來自電動車製造商 Tesla,Tesla Model S 製造業務總監 Dag Reckhorn 擔任製造業務副總裁,Tesla 前人力資源總監 Alan Cherry 擔任 Faraday 的人力資源副總裁,Tesla 前採購總監 Tom Wessner 擔任 Faraday 供應鏈管理副總裁。但未公開 CEO 的資訊,據加州政府提供的 Faraday Future 註冊資訊顯示,該公司的 CEO 與中國網路公司樂視有密切關係,出任 CEO 的正是樂視 CEO 的助理,樂視在 2015 年上半年發表了超級汽車計畫。  

  Faraday 研發副總裁、Tesla 前總監 Nick Sampson 表示,市面上的汽車已經不能滿足用戶的需求,Faraday 將提供最智慧化的電動車,幫助用戶與外部世界連接,這位高階主管拒絕公開 Faraday 的投資方。Nick Sampson 於 2012 年 1 月從 Tesla 離職,對於他的離職,Tesla CEO Elon Musk 曾公開表示是他勸 Nick Sampson 離職的,因為 Tesla 沒有適合他的職位。   從團隊構成到產品戰略,這家神秘新創公司直指 Tesla,在公司的名稱上也與 Tesla 有異曲同工之妙,Tesla 的名字來自於交流電發明者 Nikola Tesla,而 Faraday 的名字則是來自電磁感應的發現者 Michael Faraday。

(本文授權轉載自《》─〈〉)

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

區塊鏈和分佈式数字賬本正火?如何在7天內快速掌握這些必備的知識

前言

讀研期間,幾次被問到:“什麼是區塊鏈?”“我怎麼學習區塊鏈”。甚至跟“上至九十九”(爺爺奶奶),“下至剛會走的”(小學生的弟弟妹妹)解釋過我的研究內容。因此想總結一份7天的學習計劃(大量資料警告),讓那些對區塊鏈感興趣的人快速入門。區塊鏈技術的被運用到各行各業,尤其是各界(商界和政府)都對區塊鏈技術創新高度重視。本文總結了諸多入門區塊鏈的主要資源,博客、書籍和視頻,希望幫你用7天時間獲取必要的區塊鏈基礎知識。

作者宇宙之一粟,轉載請先聲明出處
公眾號宇宙之一粟,關注公眾號獲取更多相關資源

介紹

區塊鏈,剛開始聽起來會很新穎,因為是一個英文組合詞彙( Block + Chain )。區塊:存放數據的載體(想象成箱子),鏈:把這些箱子首尾相連(類似數據結構中的單鏈表)。

區塊鏈的本質:一個去中心化的分佈式賬本數據庫。其本身是一串使用密碼學相關聯所產生的數據塊,每一個數據塊中包含了多次比特幣網絡交易有效確認的信息。

區塊鏈技術從比特幣中發展而來,是比特幣的底層技術,和比特幣是相伴相生的關係。目前這項技術已經不僅僅限於比特幣——青出於藍而勝於藍。各行各業開始利用這項技術尋求突破。

2019年6月,Facebook宣布了其加密貨幣項目——。

我們國家央行也將發行自己的数字貨幣——( Digital Currency Electronic Payment ),也採用了區塊鏈技術,目前仍處於研究測試過程中。

2019年10月24日下午,。一時間區塊鏈技術又衝上了風口。

因此,我們有必要對區塊鏈技術做一個基本的了解。

如何獲得知識

如果想快速學習區塊鏈知識:收聽音頻課,閱讀書籍,看論文或在線文章,學習白皮書以及參与區塊鏈的相關學習計劃或在線課程。其他針對想從事更加專業的學習人員——參加編程或智能合約編碼課程。

應該學習到什麼程度

在區塊鏈領域工作或打算工作的每個人至少應該能夠理解並編寫一個非常簡單的智能合約,例如以程序語言Solidity通過幾行代碼實現的託管過程。儘管其他人會說,在學習區塊鏈和DLT時應該把重點放在另一個方面,但在我們看來,這是一條清晰的聲明。

在我們看來,理解簡單的智能合約(例如5-10行代碼)的需求不僅對於信息系統領域的員工很重要,而且在商業,經濟和法律領域也很重要。但是,關於如何配置節點的更深入的技術知識通常不是緊要的,但以後可以獲取。

任何尋求參与區塊鏈技術並考慮以下步驟的人都可能擁有光榮的職業生涯。我們認為,區塊鏈技術及其日益重要的潛力有可能對感興趣的人的職業道路產生积極影響,因為在這個動態且快速增長的細分市場中,未來幾年甚至數十年內還有很多工作要做。這樣,可以將由於数字化和自動化程度提高而失業(例如在金融部門)的風險降到最低。

但是感興趣的人如何獲得足夠的知識呢?存在哪些研究區塊鏈技術的機會?本文總結了區塊鏈教育的一些不同策略。我們基本上設計了一個特定的程序,以在大約7個工作日內實現“區塊鏈入門”。

一、購買或轉讓加密貨幣

所需時間:0.5天

除了獲得一些理論知識之外,理解此技術非常重要的是您在操作上“弄髒手”。 它的工作方式如下,為感興趣的人提供有關什麼是區塊鏈技術的最重要學習。

因此,開始的最佳練習是:購買加密貨幣(例如比特幣)並在全球範圍內進行轉移。 如下所示,請找到分步指南:

  • 在例如或比特派上開設一個帳戶;其他選擇:Bitstamp,Bitrex,Binance。
  • 購買比特幣或者購買以太幣。請注意,萬一使用公鑰或私鑰出錯,這筆錢將不可避免地丟失。因此,遵循此步驟當然是每個人自己的決定。
  • 開設第二個帳戶(上面的示例)。
  • 從第二個帳戶獲取一個錢包地址,該地址類似於以太坊的0xd42899dcC146d4788649e6aa5B09f129fC269127。
  • 第一步,將您購買的一部分以太幣或比特幣轉移到該地址。請注意,以太幣和比特幣的地址不同,因此請謹慎行事,切勿混淆。
  • 現在,您可以看到可以在幾秒鐘(以太)或幾分鐘(比特幣)內將價值發送到世界各地。
  • 一個更高級的步驟,但對理解區塊鏈非常有幫助:將插件添加到Google Chrome互聯網瀏覽器中,以直接訪問以太坊網絡並將您的以太幣存儲在您自己的錢包中。之後,開設一個帳戶並生成您自己的錢包地址。然後,將您的一些以太幣從之前的步驟轉移到這個新生成的錢包中。

二、音頻課

所需時間:1.5天

如果你喜歡聽音頻課,選擇一個合適的音頻可以快速入門:

  • Kryptoshow: Julian Hosp博士很好地介紹了區塊鏈技術和加密貨幣這一主題。播客還涵蓋了高級方面,例如在密碼學和編程方面。在訪問播客。
  • BTC Echo:此播客面向更高級的受眾,重點關注比特幣和加密資產。在訪問播客。
  • 從0到1全面學透區塊鏈音頻教程,在學習

三、閱讀重要的白皮書

所需時間:1天

為了了解區塊鏈技術的起源和概念,有必要研究兩種最重要的加密貨幣比特幣和以太坊的白皮書。其他補充Filecoin白皮書。

最重要的論文:

  • 比特幣白皮書:中本聰(2008):比特幣:點對點电子現金系統,。
  • 以太坊白皮書:Buterin,V.(2013):以太坊白皮書:下一代智能合約和去中心化應用平台, 。
  • Filecoin白皮書: Protocol Labs(2017):Filecoin: A Decentralized Storage Network,
    (待完善)

四、觀看視頻

所需時間:2天

在通過閱讀有關比特幣和以太坊的原始著作從“科學”角度看待區塊鏈技術之後,您可以使用視頻進一步熟悉該技術並更深入地了解該技術的不同組成部分。我們推薦以下視頻:

最重要的視頻:

五、更多文章和網站

所需時間:1天

通過遵循建議的步驟,您現在應該已經對技術有了基本的高級知識。現在,是時候更深入地研究區塊鏈技術了。我們建議閱讀以下文章:

文章或文檔:

需要了解的項目的網站:

  • 以太坊:
  • EOS:
  • NULS:
  • FISCO BCOS:

六、更廣泛概述的書籍

所需時間:2天閱讀

其他書籍:

  • 中文版(第2版)
  • Andreas M. Antonopoulos / Gavin Wood(2018年):

Ps: 關注公眾號 宇宙之一粟 回復關鍵字 “區塊鏈” 獲取电子版

七、認識志同道合之人

所需時間:參加2次聚會(主要是免費)

下一步,我們建議您進入區塊鏈社區,並與區塊鏈專家進行首次討論。

科學論文

所需時間:0天,因為這是可選的

如果您打算從科學的角度更多地探討區塊鏈的話題,那麼就有可能研究有關區塊鏈技術的論文。我們將進一步擴大此列表。

文件:

  • Eyal I , Gencer A E , Sirer E G , et al.
  • Gilad, Yossi & Hemo, Rotem & Micali, Silvio & Vlachos, Georgios & Zeldovich, Nickolai. (2017).
  • Li C , Li P , Zhou D , et al.
  • Yin M , Malkhi D , Reiter M K , et al.
  • Wang, Jiaping & Wang, Hao. (2019).
  • 更多區塊鏈相關論文

現在?

重要的是“閱讀”有關區塊鏈和DLT中的教育如何工作的信息。歸根結底,只有一件重要的事情:那就去做。不要只是想,而要行動。

歡迎評論給我,無論您是否遵循我的建議–並向我提供反饋。如果您還有其他想法,請告訴我們如何學習和使用區塊鏈。如果您使用其他來源來獲取或增加您的區塊鏈知識,那麼如果您能與我分享這些知識,我將非常感激。

備註

在Medium看到Education in Blockchain and DLT: How to Acquire the Necessary Knowledge with a Workload of 10 Working Days的一篇博客,但是有很多網站和學習資料使我們不能訪問的。基於此博客,製作了方便我們快速學習並掌握區塊鏈必備知識的這篇文章。

如果您喜歡本文,將其轉發或分享(附上原文出處),我將非常高興並表示感謝。
也歡迎關注我的微信公眾號:宇宙之一粟,分享更多資料,與你讀書學習精進。

參考博客: Authors: Philipp Sandner, Jonas Groß

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

台北網頁設計公司這麼多,該如何挑選?? 網頁設計報價省錢懶人包"嚨底家"

網頁設計公司推薦更多不同的設計風格,搶佔消費者視覺第一線

※想知道購買電動車哪裡補助最多?台中電動車補助資訊懶人包彙整

南投搬家費用,距離,噸數怎麼算?達人教你簡易估價知識!

玩轉VSCode-完整構建VSCode開發調試環境

隨着VSCode的不斷完善和強大,是時候將部分開發遷移到VS Code中了。

目前使用VS2019開發.NET Core應用,一直有一個想法,在VS Code中復刻VS的開發環境,同時遷移到VS Code。

那麼現在就開始吧。

首先,安裝最新版的VS Code:,安裝完成后可能會提示升級,升級即可,升級后的版本信息:

版本: 1.40.1 (system setup)
提交: 8795a9889db74563ddd43eb0a897a2384129a619
日期: 2019-11-13T16:49:35.976Z
Electron: 6.1.2
Chrome: 76.0.3809.146
Node.js: 12.4.0
V8: 7.6.303.31-electron.0
OS: Windows_NT x64 10.0.16299

接下來的操作分為幾個步驟:

1. 安裝各種強大VS Code插件

2. 創建.NET Core解決方案和工程

3. 調試運行

好的,那我們開始吧。

一、安裝各種強大的VS Code插件

1. C# extension for Visual Studio Code

這個插件最重要的功能:

  • Lightweight development tools for .
  • Great C# editing support, including Syntax Highlighting, IntelliSense, Go to Definition, Find All References, etc.
  • Debugging support for .NET Core (CoreCLR). NOTE: Mono debugging is not supported. Desktop CLR debugging has .
  • Support for project.json and csproj projects on Windows, macOS and Linux.

2. C# Extensions

這個插件最有用的功能是可以右鍵新建C#類和C#接口,同時支持各種code snippets,例如 ctor 、prop等,具體功能特性,可以查看插件的說明。

 3. Auto-Using for C#

這個插件自動添加using引用。

4. vscode-solution-explorer

這個插件給VS Code增加了解決方案tab, 支持新建解決方案、新建工程、添加引用、Nuget包,這個插件非常有用

Adds a Solution Explorer panel where you can find a Visual Studio Solution File Explorer.

  • Can load any .sln version

  • Supports csproj, vcxproj, fsproj and vbproj (from vs2017 and before)

  • Supports dotnet core projects

  • You can create, delete, rename or move project folders and files.

  • You can create, delete, rename or move solution, solution folders and projects.

  • You can add or remove packages and references when the project is of kind CPS (dotnet core).

 

5. Code Runner(韓俊老師出品,必屬精品)

Run code snippet or code file for multiple languages: C, C++, Java, JavaScript, PHP, Python, Perl, Perl 6, Ruby, Go, Lua, Groovy, PowerShell, BAT/CMD, BASH/SH, F# Script, F# (.NET Core), C# Script, C# (.NET Core), VBScript, TypeScript, CoffeeScript, Scala, Swift, Julia, Crystal, OCaml Script, R, AppleScript, Elixir, Visual Basic .NET, Clojure, Haxe, Objective-C, Rust, Racket, Scheme, AutoHotkey, AutoIt, Kotlin, Dart, Free Pascal, Haskell, Nim, D, Lisp, Kit, and custom command

即選中一段代碼,直接run

6. vscode-icons

通過這個插件,給各個文件和文件夾一個你更熟悉的圖標

7. Visual Studio IntelliCode

VS代碼智能提示,根據上下文語境,自動推薦你下一步用到的代碼,後台基於AI的

8. NuGet Package Manager

Nuget包管理,快速查詢定位Nuget包,並安裝。不過嘗試了一下午自定義Nuget源,沒搞定,估計是URL不對

9. Docker

10. Kubernetes

其他的還需要配置GitHub、TFS類似的源代碼管理,TFS搞了兩個插件,都不好使,後續搞定后再更新一次。

 

二、創建.NET Core解決方案和工程

此時,VS Code的環境基本配置差不多了,接下來有兩種模式,創建解決方案和工程。

1. 通過vscode-solution-explorer

解決方案有了,很熟悉的感覺。

我們可以繼續創建工程:右鍵sln,Add new project:

此時會彈出工程模板,此時我們選擇ASP.NET Core Web API工程

選擇C#

然後繼續輸入工程名稱:例如 TestWebApi

熟悉的感覺來了。此時就可以開始coding了。

以上是我們通過vscode-solution-explorer新建解決方案和工程。同時我們可以通過命令行來搞定。

2. 通過Dotnet CLI命令行

新建sln:

dotnet "new" "sln" "-n" "EricTest" "-o" "e:\Work\ServiceDependency"

新建ASP.NET Core WebAPI工程

dotnet "new" "webapi" "-lang" "C#" "-n" "TestWebApi" "-o" "TestWebApi"

將TestWebApi工程添加到解決方案EricTest

dotnet "sln" "e:\Work\ServiceDependency\EricTest.sln" "add" "e:\Work\ServiceDependency\TestWebApi\TestWebApi.csproj"

三、調試運行

在Debug選項卡中新增調試配置,重點設置要調試的program

保存后,啟動調試:

 

程序中增加斷點,然後

輸入URL:https://localhost:5001/WeatherForecast

 既可以調試了。

 

以上是今天集中配置VS Code開發調試環境的總結,分享給大家。

 

周國慶

2019//11/16

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

快速搭建Jenkins集群

關於Jenkins集群

在Jenkins上同時執行多個任務時,單機性能可能達到瓶頸,使用Jenkins集群可以有效的解決此問題,讓多台機器同時處理這些任務可以將壓力分散,對單機版Jenkins的單點故障的隱患也有分散作用,今天就來實戰快速搭建Jenkins集群,Jenkins版本是2.190.2;

如何做到快速搭建集群

通過Docker可以省去大部分準備工作,您只需在Linux電腦上安裝docker,在輔以少量命令和操作即可完成集群搭建;

環境信息

本次實戰的環境一共要用三台電腦,它們的設置都是一樣的,如下:

  1. 操作系統:CentOS Linux release 7.6.1810
  2. 防火牆關閉
  3. docker:1.13.1

三台電腦的信息如下:
| 主機名 | IP地址 | 作用 |
|–|–|–|
| master | 192.168.133.131 | Jenkins集群的master節點,提供web服務 |
| agent1 | 192.168.133.132 | Jenkins集群的一號工作接節點,標籤是maven |
| agent2 | 192.168.133.133 | Jenkins集群的二號工作接節點,標籤是gradle |

建議agent2節點的內存大於4G,因為下一篇的實戰操作會用agent2編譯構建spring-framework,對內存的需求略大;

準備工作

  1. 後面的所有操作都是root賬號;
  2. 在每台電腦上創建文件夾/usr/local/jenkins

    創建Jenkins的master

  3. 登錄master機器,執行以下命令:
docker run \
  -u root \
  -idt \
  --name master \
  -p 8080:8080 \
  -p 50000:50000 \
  -v /usr/local/jenkins:/var/jenkins_home \
  -v /var/run/docker.sock:/var/run/docker.sock \
  jenkinsci/blueocean:1.19.0
  1. 執行docker logs master,會在控制台显示jenkins的登錄秘鑰,如下圖紅框所示:
  2. 瀏覽器輸入地址: ,显示Jenkins登錄頁面,如下圖所示,在紅框位置輸入剛才複製的登錄秘鑰即可登錄:
  3. 選擇安裝推薦的插件
  4. 靜候插件在線安裝完成:
  5. 接下來是創建管理員和使用實例url的操作,這裏就不多說了,您按實際情況自行斟酌;

    至此,Jenkins的master已經搭建好,接下來將agent1和agent2作為工作節點加入集群;

    加入agent1

  6. 在Jenkins網頁上新增節點,操作如下圖,先進入節點管理頁面:
  7. 如下圖,新增一個節點,名為agent1
  8. 接下來的節點詳情信息如下圖,注意四個紅框中的內容要和圖中保持一致:
  9. 保存成功後會显示機器列表,如下圖,圖標上的紅叉表示機器不在線(此時agent1還沒有接入),點擊紅框:
  10. 如下圖所示,紅框中的命令就是agent1的啟動命令,執行該命令的機器會以agent1的身份加入集群:
  11. 注意上圖紅框中的agent.jar是個名為agent.jar的文件的下載鏈接,將此文件下載到agent1電腦的/usr/local/jenkins目錄下;
  12. ssh登錄agent1電腦,執行以下命令,即可將agent1加入Jenkins集群:
docker run \
  -u root \
  -idt \
  --name agent \
  -v /usr/local/jenkins:/usr/local/jenkins \
  bolingcavalry/openjdk-with-sshpass:8u232 \
  java -jar /usr/local/jenkins/agent.jar \
  -jnlpUrl http://192.168.133.131:8080/computer/agent1/slave-agent.jnlp \
  -secret 44c3e8d1531754b8655b53294bbde6dd99b3aaa91a250092d0d3425534ae1058 \
  -workDir "/usr/local/jenkins"

上述命令中的後半部分,即java -jar ……就是前面圖片紅框中的agent1啟動命令,唯一要改變的是將agent.jar改成絕對路徑/usr/local/jenkins/agent.jar

  1. 上述命令的鏡像是bolingcavalry/openjdk-with-sshpass:8u232,其Dockerfile內容如下,可見非常簡單,就是OpenJDK鏡像裏面安裝了sshpass,這樣的容器可以在執行ssh命令時帶上遠程機器的密碼,而不用等待用戶輸入密碼,這樣便於shell腳本執行ssh命令:
FROM openjdk:8u232

ARG DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install --assume-yes sshpass
  1. 去Jenkins的網頁上查看節點列表,如下圖,可見agent1已經成功加入:

    加入agent2

    agent2加入集群的方式和agent1大部分是一樣的,只有以下兩點要注意:

  2. 在Jenkins頁面上創建節點,名稱是agent2
  3. agent2的標籤是gradle,如下圖紅框所示:
  4. 此時agent2也加入成功:

    至此,Jenkins集群搭建完成,這兩個節點帶有不同的標籤,下一篇文章中,我們在這個集群環境創建pipeline任務,並通過標籤被分配到不同的節點上,實現多節點并行執行;

    歡迎關注公眾號:程序員欣宸

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

微信作弊,為3款小遊戲引擎開掛增速,將給小遊戲帶來怎樣的利好?

11月14日小遊戲開發圈子,有一條重磅新聞:“微信小遊戲聯合遊戲引擎廠商,推出引擎插件功能,可為小遊戲提升0.5~2秒的啟動時間”。

引擎插件是個什麼東西?

昨天有不少人在問曉衡:“引擎插件到底是個什麼東西?”、“又要讓我學習新東西嗎?”、“引擎插件是怎麼加速的,不太明白?” …

曉衡也在第一時間,將文檔通讀了一遍,並用自己的小遊戲工程做了測試,對微信小遊戲引擎插件算是有了一個簡單的認識,看下圖:

普通模式,每一個使用遊戲引擎開發的小遊戲,都需要下載遊戲引擎代碼模塊。

引擎插件模式,僅第一個遊戲需要下載引擎代碼,其它使用同類引擎的遊戲,可共享之前 A 遊戲下載過的遊戲引擎代碼,從而加速遊戲的啟動時間。

從事小遊戲開發和運營的夥伴應該都很了解,H5、小遊戲注重啟動加載速度,它對新用戶的體驗和流失都至關重要。

啟動概況分析

估計有人會覺得引擎插件就加快了0.5~2秒有什麼用?眨個眼的時間而已。

其實對使用 Cocos Creator 開發的休閑類的小遊戲來說,目前的微信小遊戲啟動速度已經很不錯了,首包含引擎的話,iOS 在4 ~ 6秒啟動,Android 大多可以在6~8秒左右打開首屏,並不像微信吹噓的1秒啟動,估計只有 引擎和資源全放子包的遊戲可以做到!

下面我將自己個人開發的一款微信小遊戲,在微信公測的前後两天做了一個數據統計,想窺視一下啟動性能對留存的影響,下圖是曉衡的遊戲在8月7日 ~ 8月9日時的活躍情況:

遊戲是在8月7日的晚上10:00點打開的微信公測,微信平台在24小時內持續導入5184的用戶,當天遊戲啟動8121次。不過圖片上的數據比較尷尬,公測一過就沒幾個玩家了,但它不是我們要講的重點,我們是用這個時間節點、用戶數量,來看微信小遊戲的啟動性能表現。

iOS啟動概況

Android啟動概況

從圖中看,8月7日這天 iOS 的總啟動時間比 Android 快 3.88 秒,Android 的用戶流失比 iOS 要多 12.55%,這裏重點也不是說 iOS 和 Android 系統那個好,而是看遊戲的啟動時間對首屏打開留存的影響。

這是另一個朋友的遊戲《周車勞盾》在9月14日微信公測4800+用戶,遊戲啟動7000+次,下面是它在9月13~9月15日的啟動概況:

《周車勞盾》的 iOS 首屏打開留存率由於用戶數太少,不太好與 Android 對比,並且朋友說當時遊戲沒有做分包優化。在9月14日公測當天,由於新用戶多,iOS、Android 的啟動速度都不快,在 10 秒左右。從中也可以看出微信小遊戲用戶,以及微信導量用戶,以 Android 屬性為主。

啟動流失分析

下圖是曉衡的遊戲在8月8日公測時的 Android 手機用戶流失分佈情況,統計一共有 893 名流失用戶:

從前面的啟動概況看到,小遊戲啟動進入首屏是在8.38s,我們以9秒為分界線,將上圖分成左右兩部分:

  • 右邊標註綠色線框,是已經進入遊戲后流失的人數,這部分的優化需要美術和策劃同學的幫助。
  • 左邊紅色線框中的用戶,是在遊戲啟動過程中流失掉的共計679人佔76%,而且前4秒流失的最多共543占 60%,如果不計算已經打開首屏的更是高達80%,因此前幾秒它才是我們關心的重點。

曉衡根據平常使用微信的習慣,模擬分析一下前8秒的用戶是大概會是什麼情況走失的,需要注意的一個前題是,這些用戶都是微信導量進入的,絕大多是手滑不小心點到廣告,並不是目標用戶。

  • 第1秒:1秒流失用戶,手滑的機率最大,似乎經過專業訓練,眼、腦、手的速度都非常的快,遊戲是什麼都沒看清就閃人了;
  • 第2秒:2秒流失用戶,與1秒戶大概差不多,只是動作稍慢而已,此時遊戲圖標已經進入視覺系統,但估計比較模糊,瞬間閃人;
  • 第3秒:3秒流失用戶,不僅遊戲圖標已經從視覺系統進入大腦,遊戲名字估計也是能看清楚,但是沒有任何感覺,同樣是條件反射,快速點擊關閉;
  • 第4秒:4秒流失用戶,已經是把遊戲圖標、名字已經完全進入大腦神經迴路,給他反饋的信號是沒有愛,甚至是反感,迅速閃人了。第4秒很關鍵,因為用戶已經有了思考!
  • 第5~6秒:5~6秒流失用戶,認真看完遊戲圖標、名字,以及加載進度,經過大腦綜合反饋,這個遊戲不值得等待,88了!
  • 第7~8秒:7~8秒流失用戶,估計是盯到了遊戲的加載進度,在100%或某個数字上停止下一瞬間,實在是不耐煩了,什麼個鬼遊戲,半天進不去,走了!

以上分析是曉衡的個人YY,僅供參考,這裏要說的是前 3 秒流失的用戶大多是條件反射,很難轉化。當用戶將遊戲圖標、遊戲名稱看清了后,大腦產生了思考,再離開的這對我們來說還有機會爭取,讓他們早點看到遊戲首屏,已經花了這5、6秒了,體驗一下再走!

提升遊戲0.5 ~ 2秒的啟動速度是非常具有價值的,而且小遊戲絕大多數又是 Android 用戶,特別是對需要買量的遊戲來說,時間就是金錢,毫秒必爭。

引擎插件帶來的好處

下面我們再來看看,引擎插件具體在那些場景下會帶來比較明顯的性能提供,盡可能充分利用這個機制呢?

微信公測

對於個人開發者,使用微信公測功能免費送5000流量,一定要利用好這個機會。將首包資源做到盡量小巧,引擎裁剪、圖片壓縮一定要做足,同時盡量選擇使用量較多的引擎版本號(目前曉衡了解到的,使用較多 Cocos Creator 引擎版本號分佈在:2.0.8 ~ 2.0.10、2.1.3、2.2.0,不過還是要以微信或 Cocos 官方統計為準),這樣容易蹭上已經下載過的遊戲引擎,這對大多數遊戲來說都是適用的。

中重度遊戲

中重度遊戲,通常會依賴較多的引擎模塊,比如 RPG 遊戲中的:地圖、角色動畫,會使用TileMap、Spine、DragonBones、Animation 等模塊,還有一些遊戲會使用到物理引擎模塊、碰撞模塊等,完整引擎模塊高達 1.6M。

隨着微信引擎插件的廣泛普及,以後構建遊戲完全時可以將引擎裁剪到最精簡狀態,大概在550K左右。甚至可以想像到,以後小遊戲平台完全不用上傳引擎代碼,構建時只用配置上使用的什麼引擎,引擎版本號即可。

中重度遊戲利用引擎插件同樣可以快速進入首屏,首包僅保留炫麗的動效和初始界面,用分治的方式動態下載遊戲當前必要的內容,儘快讓用戶參与到遊戲中去。還有隨着 5G 的到來,中重度遊戲的遊戲資源下載劣勢也會得到改善,對小遊戲更是一件好事。

遊戲矩陣

單款小遊戲一般是很難有收益的,甚至是虧本買賣。微信平台,一個小遊戲可以支持10個遊戲的跳轉,目前絕大多數遊戲商廠,都會在小遊戲中集成其它遊戲的入口加大流量,優質的遊戲還會出售遊戲跳轉坑位,有的還價格不菲。個人開發者也意識到了遊戲間跳轉帶來的爆光機會,不少開發者會在微信公眾時,組織邀請好友建立鏈接。

如果是自家開發的休閑小遊戲,利用引擎插件的啟動增速,再配合上自定義的啟動背景(頭條支持),讓玩家感受不出是在不同遊戲中切換,在矩陣中瞬間穿梭,這也將極大增加遊戲的曝光率,降低流失。

小結

劉潤老師說的好:“一切的商業價值,要看是否讓用戶獲益”。

微信引擎插件不僅讓普通用戶能獲得更好的遊戲體驗,也能讓遊戲開發商能中從獲益。點開即玩的小遊戲,縮短了遊戲產品呈現在用戶手中的時間,極大優化了產品的傳遞價值。

曉衡是一個搬運工,傳遞有價值的遊戲開發技術,如果覺得本文對你有用,感謝來看個再看或傳遞給朋友。感謝您的閱讀,願我們在前進的道路上“砥礪前行,共同成長!”

本站聲明:網站內容來源於博客園,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※如何讓商品強力曝光呢? 網頁設計公司幫您建置最吸引人的網站,提高曝光率!!

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!

賓士傳將開發四款純電動車

世界級車商賓士(Mercedes-Benz)被報導正在開發全新的電動車平台,並將以此平台為基礎,推出四款純電動汽車。

ETToday引述外媒《Car Magazine》的報導,表示賓士正以MRA平台為基礎開發一款名為「EVA」的電動車平台,可供後續開發C-Class到S-Class尺碼的各式車款,最高能搭載400公斤的電池組。而在動力方面,後驅車型可能搭載一具402匹馬力的電動馬達,四驅車行可能還會再加上一具120匹馬力或者201匹馬力的馬達。主動懸載、扭力分配、動能回收等功能也將面面俱到。

該報導表示,賓士官方並未證實這項消息,但將在2018年推出C-Class與E-Class之間的電動轎車,並以此為基礎再行打造一款休旅車。此後還有S-Class和GLS等級的電動車款會問世。《Car Magazine》表示,賓士目標為每年銷售2萬輛電動車,入門車款售價為7萬英鎊起跳。

本站聲明:網站內容來源於EnergyTrend https://www.energytrend.com.tw/ev/,如有侵權,請聯繫我們,我們將及時處理

【其他文章推薦】

※為什麼 USB CONNECTOR 是電子產業重要的元件?

網頁設計一頭霧水??該從何著手呢? 找到專業技術的網頁設計公司,幫您輕鬆架站!

※想要讓你的商品成為最夯、最多人討論的話題?網頁設計公司讓你強力曝光

※想知道最厲害的台北網頁設計公司推薦台中網頁設計公司推薦專業設計師”嚨底家”!!