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

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

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

3天內不再提示

得物云原生全鏈路追蹤Trace2.0-采集篇

OSC開源社區 ? 來源:OSC開源社區 ? 作者:OSC開源社區 ? 2022-12-13 15:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

0

0xcc 開篇

2020 年 3月,得物技術團隊在三個月的時間內完成了整個交易體系的重構,交付了五彩石項目,業務系統也進入了微服務時代。系統服務拆分之后,雖然每個服務都會有不同的團隊各司其職,但服務之間的依賴也變得復雜,對服務治理等相關的基礎建設要求也更高。

對服務進行監控是服務治理、穩定性建設中的一個重要的環節,它能幫助提早發現問題,預估系統水位,以及對故障進行分析等等。從 2019 年末到現在,得物的應用服務監控系統經歷了三大演進階段,如今,整個得物的應用微服務監控體系已經全面融入云原生可觀測性技術 OpenTelemetry。

b0d1df9c-7a83-11ed-8abf-dac502259ad0.png

回顧過去十年間,應用服務監控行業的競爭也很激烈,相關產品如雨后春筍般涌現,如推特在 2012 年開源的 Zipkin,韓國最大的搜索引擎和門戶網站 Naver 開源的 Pinpoint,近幾年 Uber 公司開源的 Jaeger,以及我們國內吳晟開源的 SkyWalking。

有人說,這些其實都歸功于 Google 在 2010 年基于其內部大規模分布式鏈路追蹤系統 Dapper 實踐而發表的論文,它的設計理念是一切分布式調用鏈追蹤系統的始祖,但其實早在二十年前(2002年),當年世界上最大的電商平臺 eBay 就已擁有了調用鏈追蹤系統 CAL(Centralized Application Logging)。2011 年,原eBay的中國研發中心的資深架構師吳其敏跳槽至大眾點評,并且深入吸收消化了 CAL 的設計思想,主導研發并開源了CAT(Centralized Application Tracking)。

b0e3015a-7a83-11ed-8abf-dac502259ad0.png

CAT 作為國人主導的開源系統,其本地化工作也是做得非常到位,而憑借著架構簡單,開箱即用的特點,CAT 也是我們得物使用的第一個應用監控系統。

1

0x01 第一階段

從0~1基于CAT的實時應用監控

在得物五彩石項目交付之前,系統僅有基礎設施層面的監控,CAT 的引入,很好地彌補了應用監控盲區。它支持提供各個維度的性能監控報表,健康狀況檢測,異常統計,對故障問題排查起到了積極推動的作用,同時也提供簡單的實時告警的能力。

b0f47084-7a83-11ed-8abf-dac502259ad0.png

CAT 擁有指標分鐘級別的聚合統計的能力,從 UI 上不難看出,它擁有豐富的報表統計能力和問題排障能力。

b113f36e-7a83-11ed-8abf-dac502259ad0.png

但隨著公司業務規模逐步擴大,微服務粒度也不可避免地變小,我們發現,CAT 已經逐步無法滿足我們的使用場景了:

  • 無法直觀呈現全鏈路視圖:

問題排障與日常性能分析的場景也越來越復雜,對于一個核心場景,其內部的調用鏈路通常復雜多變,站在流量角度上看,需要完整地知道它的來源,上下游鏈路,異步調用等等,這對于 CAT 來說可能略顯超綱。

  • 缺少圖表定制化能力:
CAT 雖供多維度報表分析,但定制化能力非常有限,在當時,業內的圖表組件定制化解決方案逐步向 Grafana + Prometheus 靠攏,但若使用 CAT,則無法享受強大的圖表繪制能力。與此同時,隨著云原生社區可觀測性項目 OpenTracing 的崛起,大約不到半年時間我們逐步下線了 CAT,向 OpenTracing 生態演進。

2

0x02 第二階段

持續創造 基于OpenTracing全鏈路采樣監控

OpenTracing 為全鏈路追蹤 Trace 定制了完整的一套協議標準,本身并不提供實現細節。在 OpenTracing 協議中,Trace 被認為是 Span 的有向無環圖(DAG)。官方也例舉了以下 8 個 Span 的因果關系和他們組成的單 Trace示例圖:

b13ef7ee-7a83-11ed-8abf-dac502259ad0.png

在當時, OpenTracing 相關的開源社區也是異常活躍,它使用 Jaeger 來解決數據的收集,調用鏈則使用了甘特圖展示:

b15a99b8-7a83-11ed-8abf-dac502259ad0.png

在 OpenTracing 生態中,我們對鏈路的采樣使用頭部采樣策略, 對于指標 Metrics,OpenTracing 并沒有制定它的規范,但在 Google SRE Book 里,關于 Monitoring Distributed System 章節中提到了四類黃金指標:

  1. 吞吐量:如每秒請求數,通常的實現方式是,設定一個計數器,每完成一次請求將自增。通過計算時間窗口內的變化率來計算出每秒的吞吐量。

  1. 延遲:處理請求的耗時。

  1. 錯誤率/錯誤數:如 HTTP 500 錯誤。當然,有些即便是 HTTP 200 狀態也需要根據特定業務邏輯來區分當前請求是否屬于“錯誤”請求。

  1. 飽和度:類似服務器硬件資源如CPU,內存,網絡的使用率等等。

所以,我們決定使用 Micrometer 庫來對各個組件進行吞吐量,延遲和錯誤率的埋點,從而對 DB 類,RPC類的組件做性能監控。因此也可以說,我們第二階段的監控是以指標監控為主,調用鏈監控為輔的應用性能監控2.1 使用 Endpoint 貫穿指標埋點幫助性能分析在指標埋點過程中,我們在所有的指標中引入了“流量入口(Endpoint)”標簽。這個標簽的引入,實現了根據不同流量入口來區分關聯 DB,緩存,消息隊列,遠程調用類的行為。通過流量入口,貫穿了一個實例的所有組件指標,基本滿足了以下場景的監控:
  • RPC 調用排障,調用方除了擁有下游接口信息,也可溯源自身觸發該調用的接口。

b1796924-7a83-11ed-8abf-dac502259ad0.png

  • 接口高耗時分析,根據指標,可還原出單位時間窗口的耗時分解圖快速查看耗時組件。

b1a4120a-7a83-11ed-8abf-dac502259ad0.png

2.2 關于選型的疑問

你可能會問,鏈路監控領域在業內有現成的 APM 產品,比如 Zipkin, Pinpoint, SkyWalking 等,為什么當時會選擇 OpenTracing + Prometheus 自行埋點?主要有兩大因素:

第一,在當時,CAT 無法滿足全鏈路監控和一些定制化的報表分析,而得物交易鏈路五彩石項目交付也趨于尾聲,貿然去集成外部一款龐大的 APM 產品在沒有充分的驗證下,會給服務帶來穩定性風險,在極其有限的時間周期內不是個理智的選擇。

第二,監控組件是隨著統一的基礎框架來發布,同時,由另一團隊牽頭開發的全鏈路影子庫路由組件借助了 OpenTracing 隨行數據透傳機制,且與監控組件是強耦合關系,而基礎框架將統籌監控,壓測和其他模塊,借助Spring Boot Starter 機制,一定程度上做到了功能的開箱即用,無縫集成。而使用字節碼增強方式的 Pinpoint, SkyWalking,無法很好地做到與基礎框架集成,若并行開發,也會多出基礎框架與 Java Agent 兩邊的管理和維護成本,減緩迭代速度。

b1d2b48e-7a83-11ed-8abf-dac502259ad0.png

在之后將近兩年的時間里,應用服務監控覆蓋了得物技術部使用的將近 70% 的組件,為得物App在 2021 年實現全年 99.97% 的 SLA 提供了強有力的支持。現在看來,基于 OpenTracing + Prometheus 生態,很好地解決了分布式系統的調用鏈監控,借助 Grafana 圖表工具,做到了靈活的指標監控,融合基礎框架,讓業務方開箱即用…然而,我們說第二階段是基于 OpenTracing 全鏈路采樣監控,隨著業務的高速發展,這套架構的不足點也逐漸顯露出來。

2.3 架構特點

  • 體驗層面
    • 指標:覆蓋面廣,維度細,能清晰地根據各模塊各維度來統計分析,基本做到了監控靈活的圖表配置需求。但不可否認它是一種時序聚合數據,無法細化為個體。假如在某個時間點發生過幾次高耗時操作,當吞吐量達到一定時,平均耗時指標曲線仍然趨于平穩,沒有明顯的突出點,導致問題發現能力降低。

  • b1eed786-7a83-11ed-8abf-dac502259ad0.png

    • 鏈路:1%的采樣率使得業務服務基本不會因調用鏈發送量大而導致性能問題,但同時也往往無法從錯誤,高耗時的場景中找到正好采樣的鏈路。期間,我們曾經考慮將頭部采樣策略改為尾部采樣,但面臨著非常高昂的 SDK 改造成本和復雜調用情況下(如異步)采樣策略的回溯,且無法保證發生每個高耗時,錯誤操作時能還原整個完整的調用鏈路。

    • 集成方式:業務和基礎框架均采用 Maven 來構建項目,使用 Spring Boot Starter "all in one"開箱即用方式集成,極大降低了集成成本的同時,也給依賴沖突問題埋下了隱患。

  • 項目迭代層面

迭代周期分化矛盾,與基礎框架的集成是當時快速推廣落地全鏈路監控的不二選擇,通過這種方式,Java 服務的接入率曾一度接近100%,但在業務高速發展的背景下,基礎框架的迭代速度已經遠遠跟不上業務迭代速度了,這也間接制約了整個監控系統的迭代。

  • 數據治理層面
數據治理成本逐步偏高,由于基礎框架和業務系統的迭代節奏天然的不一致,且每個業務系統也有自身的迭代節奏,放眼全網后端服務上看,基礎框架版本參差不齊。

b1faa2dc-7a83-11ed-8abf-dac502259ad0.png

盡管監控系統在每一次迭代時都會盡可能保證最大的向后兼容,但將近兩年的迭代周期里,不同版本造成的數據差異也極大制約了監控門戶系統天眼的迭代,開發人員長時間奔波于數據上的妥協,在很多功能的實現上曲線救國。

  • 穩定性層面

相關預案依托于 Spring 框架 Bean 的自動裝配邏輯,業務方理解成本低,便于變更,但缺少細粒度的預案,比如運行時期間特定邏輯降級等等。

    • 2021 年下半年開始,為了充分平衡以上的收益與風險,我們決定將監控采集端與基礎框架解耦,獨立迭代。在此之前,在 CNCF(云原生計算基金會)的推動下,OpenTracing 也與 OpenCensus 合并成為了一個新項目 OpenTelemetry

b2278a68-7a83-11ed-8abf-dac502259ad0.png

3

0x03 第三階段

向前一步 基于OpenTelemetry全鏈路應用性能監控

OpenTelemetry 的定位在于可觀測性領域中對遙測數據采集和語義規范的統一,有 CNCF (云原生計算基金會)的加持,近兩年里隨著越來越多的人關注和參與,整個體系也越發成熟穩定。

其實,我們在2020年底就已開始關注 OpenTelemetry 項目,只不過當時該項目仍處于萌芽階段, Trace, Metrics API 還在 Alpha 階段,有很多不穩定因素,考慮到需盡快投入生產使用,筆者曾在 2021 年中到年末期間也或多或少參與了 OpenTelemetry 社區相關 issue 的討論,遙測模塊的開發,底層數據協議的一致和一些 BUG 的修復。在這半年期間,相關 API 和 SDK 隨著越來越多的人參與也逐步趨于穩定。

OpenTelemetry架構(圖源自 opentelemetry.io)

b253ba84-7a83-11ed-8abf-dac502259ad0.png

3.1 邁入 Trace2.0 時代

OpenTelemetry 的定位致力于將可觀測性三大要素 Metrics,Trace,Log 進行統一,在遙測 API 制定上,提供了統一的上下文以便 SDK 實現層去關聯。如 Metrics 與 Trace 的關聯,筆者認為體現在 OpenTelemetry 在 Metrics 的實現上包含了對 OpenMetrics 標準協議的支持,其中 Exemplar 格式的數據打通了 Trace 與 Metrics 的橋梁:

b277debe-7a83-11ed-8abf-dac502259ad0.png

OpenMetrics 是建立在 Prometheus 格式之上的規范,做了更細粒度的調整,且基本向后兼容 Prometheus 格式。

在這之前,Metrics 指標類型的數據無法精確關聯到具體某個或某些 Trace 鏈路,只能根據時間戳粗略關聯特定范圍內的鏈路。這個方案的缺陷源自指標采集器 vmagent 每隔 10s~30s 的 Pull 模式中,指標的時間戳取決于采集時刻,與 Trace 調用時間并不匹配。

b2973bba-7a83-11ed-8abf-dac502259ad0.png

Exemplar 數據在直方圖度量格式末尾會追加當前上下文中的 Trace ID,Span ID 信息,如下:
shadower_virtual_field_map_operation_seconds_bucket{holder="Filter:Factory",key="WebMvcMetricsFilter",operation="get",tcl="AppClassLoader",value="Servlet3FilterMappingResolverFactory",le="0.2"} 3949.0 1654575981.216 # {span_id="48f29964fceff582",trace_id="c0a80355629ed36bcd8fb1c6c89dedfe"} 1.0 1654575979.751
為了采集 Exemplar 格式指標,同時又需防止分桶標簽“le”產生的高基數問題,我們二次開發了指標采集 vmagent,額外過濾攜帶 Exemplar 數據的指標,并將這類數據異步批量發送到了 Kafka,經過 Flink 消費后落入 Clickhouse 后,由天眼監控門戶系統提供查詢接口和UI。

b2b930f8-7a83-11ed-8abf-dac502259ad0.png

分位線統計與Exemplar 數據關聯UI示意圖

b2dafb70-7a83-11ed-8abf-dac502259ad0.jpg

在數據上報層,OpenTelemetry Java SDK 使用了比 JDK 原生的阻塞隊列性能更好的 Mpsc (多生產單消費)隊列,它使用大量的 long 類型字段來做內存區域填充,用空間換時間解決了偽共享問題,減少了并發情況下的寫競爭來提高性能。

在流量高峰時期,鏈路數據的發送隊列這一塊的性能從火焰圖上看 CPU 占比平均小于2%,日常服務CPU整體水位與0采樣相比幾乎沒有明顯差距,因此我們經過多方面壓測對比后,決定在生產環境客戶端側開放鏈路數據的全量上報,實現了在得物技術史上的全鏈路 100% 采樣,終結了一直以來因為低采樣率導致問題排查困難的問題,至此,在第三階段,得物的全鏈路追蹤技術正式邁入 Trace2.0 時代。

得益于 OpenTelemetry 整體的可插拔式 API 設計,我們二次開發了 OpenTelemetry Java Instrumentation 項目 Shadower Java,擴展了諸多功能特性:

3.2 引入控制平面管理客戶端采集行

b30c1ffc-7a83-11ed-8abf-dac502259ad0.png

使用控制平面,通過客戶端監聽機制來確保配置項的下發動作,包括:

  • 實時動態采樣控制
  • 診斷工具 Arthas 行為控制
  • 實時全局降級預案
  • 遙測組件運行時開關
  • 實時 RPC 組件出入參收集開關
  • 實時高基數指標標簽的降級控制
  • 按探針版本的預案管理
  • 基于授權數的灰度接入策略。

b32dda3e-7a83-11ed-8abf-dac502259ad0.png

  • ... ...

控制平面的引入,彌補了無降級預案的空白,也提供了更加靈活的配置,支持了不同流量場景下快速變更數據采集方案:

b3606b66-7a83-11ed-8abf-dac502259ad0.png

b372aab0-7a83-11ed-8abf-dac502259ad0.png

3.3 獨立的啟動模塊

為了解決業務方因集成基礎框架而長期面臨的依賴沖突問題,以及多版本共存引起的數據格式分散與兼容問題,我們自研了無極探針工具箱 Promise, 它是個通用的 javaagent launcher, 結合遠端存儲,支持可配置化任意 javaagent 的下載,更新,安裝和啟動:

[plugins]
enables = shadower,arthas,pyroscope,chaos-agent
[shadower]
artifact_key = /javaagent/shadower-%s-final.jar
boot_class = com.shizhuang.apm.javaagent.bootstrap.AgentBootStrap
classloader = system
default_version = 115.16
[arthas]
artifact_key = /tools/arthas-bin.zip
;boot_class = com.taobao.arthas.agent334.AgentBootstrap
boot_artifact = arthas-agent.jar
premain_args = .attachments/arthas/arthas-core.jar;;ip=127.0.0.1
[pyroscope]
artifact_key = /tools/pyroscope.jar
[chaos-agent]
artifact_key = /javaagent/chaos-agent.jar
boot_class = com.chaos.platform.agent.DewuChaosAgentBootstrap
classloader = system
apply_envs = dev,test,local,pre,xdw
b3958b52-7a83-11ed-8abf-dac502259ad0.png

3.4 基于 Otel API 的擴展

3.4.1 豐富的組件度量

在第二階段 OpenTracing 時期,我們使用 Endpoint 貫穿了多個組件的指標埋點,這個優秀的特性也延續至第三階段,我們基于底層 Prometheus SDK 設計了一套完善的指標埋點 SDK,并且借助字節碼插樁的便捷,優化并豐富了更多了組件庫。(在此階段,OpenTelemetry SDK 主版本是 1.3.x ,相關 Metrics SDK 還處于Alpha 階段)

Otel 的 Java Instrumnetation 主要使用 WeakConcurrentMap 來做異步鏈路上下文數據傳遞和同線程上下文關聯的容器,由于 Otel 對許多流行組件庫做了增強,因此 WeakConcurrentMap 的使用頻率也是非常高的,針對這個對象的 size 做監控,有助于排查因探針導致的內存泄露問題,且它的增長率一旦達到我們設定的閾值便會告警,提早進行人工干預,執行相關預案,防止線上故障發生。

部分自監控面板

b3ab5bee-7a83-11ed-8abf-dac502259ad0.png

3.4.2擴展鏈路透傳協

1) 引入RPC ID

為了更好地關聯上下游應用,讓每個流量都有“身份”,我們擴展了 TextMapPropagator 接口,讓每個流量在鏈路上都知道請求的來源,這對跨區域,環境調用排障場景起到關鍵性作用。

b3cdd6d8-7a83-11ed-8abf-dac502259ad0.png

此外,對于跨端場景,我們參考了阿里鷹眼調用鏈RPCID模型,增加了RpcID字段,這個字段在每次發生跨端調用時末尾數值會自增,而對于下游應用,字段本身的層級自增:

b3fb7462-7a83-11ed-8abf-dac502259ad0.png

該字段擁有以下作用:

持提供精簡化的調用鏈路視圖,查詢臃腫鏈路(如那些涉及緩存,DB調用大于 2000 Span的鏈路)時只提供 RPC 調用節點和調用層次關系。

鏈路保真,客戶端鏈路數據上報隊列并不是個無界限隊列,當客戶端自身調用頻繁時,若上報隊列堆積達到閾值即會丟棄,這會造成整個鏈路的不完整,當然這是預期內的現象,但若沒有RpcID字段,鏈路視圖將無法關聯丟失的節點,從而導致整個鏈路層級混亂失真。

b41556ca-7a83-11ed-8abf-dac502259ad0.png

2) 自定義 Trace ID

為了實現鏈路詳情頁高效的檢索效率,我們擴展 TraceID 生成邏輯,ID的前8位使用實例IP,中8位使用當前時間戳,后16位采用隨機數生成。

32位自定義traceId:c0a8006b62583a724327993efd1865d8


c0a8006b  62583a72   4327993efd1865d8
   |         |             |
高8位(IP) 中8位(Timestmap) 低16位(Random)

這樣的好處有兩點:

通過 TraceID 反向解析時間戳,鎖定時間范圍,有助于提高存儲庫 Clickhouse 的檢索效率,此外也能幫助決定當前的 Trace 應該查詢熱庫還是冷庫。

b42aebc0-7a83-11ed-8abf-dac502259ad0.png

綁定實例 IP,有助于關聯當前 Trace 流量入口所屬的實例,在某些極端場景,當鏈路上的節點檢索不到時,也能通過實例和時間兩個要素來做溯源。

3) 異步調用識別

業務系統為了提高服務吞吐量,充分運用硬件資源,異步調用場景可謂無處不在。我們基于Otel實現的異步鏈路上下文傳遞的基礎上,額外擴充了"async_flag"字段來標識當前節點相對于父節點的調用關系,從而在展示層上能迅速找出發生異步調用的場景

b44602a2-7a83-11ed-8abf-dac502259ad0.png

3.4.3 更清晰的調用鏈結構

在 Otel 支持的部分組件中,有些操作不涉及到網絡調用,或者具有非常頻繁的操作,如 MVC 過程,數據庫連接獲取等,通常來說這類節點在鏈路詳情主視圖中的意義不大,因此我們對這類節點的產生邏輯進行了優化調整,使得整個鏈路主體結構聚焦于“跨端”,同時,對部分核心組件關鍵內部方法細節做了增強,以“事件”的形式掛載于它們的父節點上,便于更細粒度的排查:

RPC 調用關鍵內部事件

b4564856-7a83-11ed-8abf-dac502259ad0.png

DB 調用連接獲取事件

b4679980-7a83-11ed-8abf-dac502259ad0.png

3.4.4 profiling 的支持

1)線程棧分析的集成。通過集成 Arthas 這類工具,可以很方便地查看某個實例線程的實時堆棧信息,同時對采樣間隔做控制,避免頻繁抓取影響業務自身性能。

b49bbd0a-7a83-11ed-8abf-dac502259ad0.png

2)通過集成 pyroscope,打通高延遲性能排查最后一公里。Pyroscope 對 async profiler 做了二次開發,同時也支持 Otel 去集成,但截至目前,官方并沒有實現完整的 Profiling 行為的生命周期,而 Profiling 行為一定程度上會影響性能,于是我們對官方 Pyroscope 的生命周期做了擴展,實現“停止”行為的同時,采用時間輪算法來檢測特定操作的耗時,當達到期望的閾值將觸發開啟 profiling, 待操作結束或超過最大閾值則停止。

b4d13ade-7a83-11ed-8abf-dac502259ad0.png

b4f223a2-7a83-11ed-8abf-dac502259ad0.png

關于性能診斷相關的運用,請期待后續診斷專題。

4

0xff 結語

縱觀得物在應用監控采集領域的三大里程碑迭代,第一階段的 CAT 則是 0~1 的過程,它提供了應用服務對自身觀測的途徑,讓業務方第一次真實地了解了服務運行狀況,而第二階段開始,隨著業務發展的飛速提升,業務方對監控系統的要求就不僅只是從無到有了,而是要精細,準確。

因此,快速迭代的背景下,功能與架構演進層面的矛盾,加上外部云原生大背景下可觀測領域的發展因素,促使我們進行了基于 OpenTelemetry 體系的第三階段的演進。功能,產品層面均取得了優異的結果。如今,我們即將進行下一階段的演進,深度結合調用鏈與相關診斷工具,以第三階段為基礎,讓得物全鏈路追蹤技術正式邁入性能分析診斷時代。

審核編輯 :李倩



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

    關注

    21

    文章

    4175

    瀏覽量

    184889
  • cat
    cat
    +關注

    關注

    1

    文章

    78

    瀏覽量

    21837
  • 微服務
    +關注

    關注

    0

    文章

    150

    瀏覽量

    8105

原文標題:得物云原生全鏈路追蹤Trace2.0-采集篇

文章出處:【微信號:OSC開源社區,微信公眾號:OSC開源社區】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    API商品接口數據采集服務及接口應用展開

    、快手、京東及(POIZON)等平臺,為價格接口提供實時數據支持。 數據采集層 :通過爬蟲或API對接獲取商品價格、庫存等信息,需處理反爬機制(如IP輪換、User-Agent模擬)及數據清洗(去重、格式化)。 API接口層
    的頭像 發表于 01-28 13:10 ?227次閱讀
    <b class='flag-5'>得</b><b class='flag-5'>物</b>API商品接口數據<b class='flag-5'>采集</b>服務及接口應用展開

    構建差分輸入 ADC的模擬前端信號

    構建差分輸入 ADC的模擬前端信號
    的頭像 發表于 01-16 17:42 ?319次閱讀
    構建<b class='flag-5'>全</b>差分輸入 ADC的模擬前端信號<b class='flag-5'>鏈</b><b class='flag-5'>路</b>

    電力電子EMC整改:從源頭到系統的優化策略方案

    南柯電子|電力電子EMC整改:從源頭到系統的優化策略方案
    的頭像 發表于 01-06 09:59 ?248次閱讀

    工業數字化平臺助力構建設備管理系統

    驅動數據價值釋放,為企業打造智能管理體系。 通博聯工業設備數據平臺是高并發的工業設備遠程管理與數據可視化平臺,具備強大的數據匯聚與分析能力。該平臺可接入分布在全球各地的海量工業
    的頭像 發表于 12-30 16:09 ?286次閱讀
    工業數字化平臺助力構建<b class='flag-5'>全</b><b class='flag-5'>鏈</b><b class='flag-5'>路</b>設備管理系統

    【應用方案】音頻模塊:艾為電子提供“上行+下行”解決方案

    、Codec、DSP、自研算法、SmartPA等領域的技術積累,以“上行采集-中端優化-下行輸出-
    的頭像 發表于 11-19 19:01 ?343次閱讀
    【應用方案】音頻模塊:艾為電子提供“上行+下行”<b class='flag-5'>全</b><b class='flag-5'>鏈</b><b class='flag-5'>路</b>解決方案

    碳足跡算不清?能源系統,一鍵生成碳排報告

    在 “雙碳” 目標推進下,碳足跡核算已成為企業高質量發展必經之路。能源系統憑借 “數據自動采集、核算精準智能、報告一鍵生成” 的核心優勢,讓碳核算從 “耗時費力的難題” 變為 “
    的頭像 發表于 11-19 09:45 ?349次閱讀
    碳足跡算不清?<b class='flag-5'>全</b><b class='flag-5'>鏈</b><b class='flag-5'>路</b>能源系統,一鍵生成碳排報告

    verdi中trace信號的方法

    中點擊驅動的懸空線,將會往上追蹤出更多的信號線 2、波形圖中trace * 在波形圖中右擊信號,選擇Show OneTrace Signals,并選擇Driver * 在波形圖中即可看到所選信號
    發表于 10-28 06:03

    深入剖析Docker安全防護策略

    云原生時代,Docker容器安全已成為運維工程師必須面對的核心挑戰。本文將從實戰角度深入剖析Docker安全防護策略,涵蓋鏡像構建、容器運行、網絡隔離等關鍵環節,助你構建企業級
    的頭像 發表于 08-18 11:17 ?1046次閱讀

    電驅動系統EMC測試整改:設計到整改的優化

    深圳南柯電子|電驅動系統EMC測試整改:設計到整改的優化
    的頭像 發表于 08-13 11:11 ?1063次閱讀

    云原生環境里Nginx的故障排查思路

    本文聚焦于云原生環境下Nginx的故障排查思路。隨著云原生技術的廣泛應用,Nginx作為常用的高性能Web服務器和反向代理服務器,在容器化和編排的環境中面臨著新的故障場景和挑戰。
    的頭像 發表于 06-17 13:53 ?976次閱讀
    <b class='flag-5'>云原生</b>環境里Nginx的故障排查思路

    從 Java 到 Go:面向對象的巨人與云原生的輕騎兵

    (Goroutine/Channel) 在 云原生基礎設施領域 占據主導地位,它也是 Java 開發者探索云原生技術棧的關鍵補
    的頭像 發表于 04-25 11:13 ?651次閱讀

    4月22日北京|國產化模塊測試儀器大會

    隨著5G、聯網、通信等技術的快速發展、國際環境復雜多變,傳統測試儀器因體積龐大、功能單一、擴展性差等問題難以滿足高頻、高精度、多場景的測試需求,在此背景下,“國產化模塊測試儀器
    的頭像 發表于 04-18 16:44 ?756次閱讀
    4月22日北京|國產化<b class='flag-5'>全</b><b class='flag-5'>鏈</b><b class='flag-5'>路</b>模塊測試儀器大會

    PolarDB×ADB雙擎驅動 華鼎冷打造冷數據智能反應堆

    完成從自建分布式數據庫到云原生數據庫PolarDB MySQL,再到云原生數據倉庫AnalyticDB MySQL(ADB MySQL)的
    的頭像 發表于 04-15 15:13 ?556次閱讀
    PolarDB×ADB雙擎驅動 華鼎冷<b class='flag-5'>鏈</b>打造冷<b class='flag-5'>鏈</b>數據智能反應堆

    Snap Store開發者工具圖譜:從棧到云原生,一張圖解鎖Linux開發新姿勢!

    PyCharm+Postman構建微服務,還是云原生新人嘗試Kubectl+Helm馴服K8s,SnapStore早已備好全套裝備。本文作為《UbuntuSnap》系列的第三彈
    的頭像 發表于 03-25 09:22 ?868次閱讀
    Snap Store開發者工具圖譜:從<b class='flag-5'>全</b>棧到<b class='flag-5'>云原生</b>,一張圖解鎖Linux開發新姿勢!

    DeepSeek加持,宇視科技升級發布“萬X”智能引擎

    底座,融合DeepSeek大模型蒸餾出輕量化專用模型,進一步提升多模態理解與推理能力,將萬搜升級為覆蓋“搜、控、核、標”的智能引擎,搭配客制化“數字助理”的全新交互形態,將大模
    的頭像 發表于 03-13 15:36 ?1250次閱讀