自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文帶你了解SkyWalking

開發(fā) 架構
Apache SkyWalking是一款功能強大的APM系統(tǒng),可以幫助開發(fā)人員和運維人員更好地了解分布式系統(tǒng)的性能狀況。通過使用SkyWalking,可以提高應用程序的穩(wěn)定性和性能,降低運維成本。

Apache SkyWalking

SkyWalking是一個開源可觀測平臺,用于收集、分析、聚合和可視化來自服務和云原生基礎設施的數據。SkyWalking 提供了一種簡單的方法來保持分布式系統(tǒng)的清晰視圖,甚至跨云。它是一種現代APM,專為云原生、基于容器的分布式系統(tǒng)而設計。

文檔版本8.9.1,當前最新版本9.10

圖片圖片

介紹

SkyWalking 是一個應用性能監(jiān)控系統(tǒng)(APM)

為微服務、云原生和基于容器(Docker, Kubernetes, Mesos)體系結構而設計,主要實現功能包括分布式追蹤,性能指標分析和服務依賴分析等

相似產品與對比

類似功能的組件還有:Zipkin、Pinpoint 、CAT、Dapper等

  • Zipkin是Twitter開源的調用鏈路分析工具,目前基于Spingcloud sleuth得到了廣泛的應用,特點是輕量,部署簡單。
  • 一個韓國團隊開源的產品,運用了字節(jié)碼增強技術,只需要在啟動時添加啟動參數即可,對代碼無侵入,目前支持Java和PHP語言,底層采用HBase來存儲數據,探針收集的數據- 粒度非常細,但性能損耗大,因其出現的時間較長,完成度也很高,應用的公司較多
  • Skywalking是本土開源的基于字節(jié)碼注入的調用鏈路分析以及應用監(jiān)控分析工具,特點是支持多種插件,UI功能較強,接入端無代碼侵入。
  • CAT是由國內美團點評開源的,基于Java語言開發(fā),目前提供Java、C/C++、Node.js、Python、Go等語言的客戶端,監(jiān)控數據會全量統(tǒng)計,國內很多公司在用,例如美團點評、攜程、拼多多等,CAT跟下邊要介紹的Zipkin都需要在應用程序中埋點,對代碼侵入性強。


Cat

Zipkin

Pinpoint

skywalking

依賴

Java 6,7,8

Maven 3.2.3+

mysql5.6

Linux 2.6以及之上(2.6內核才可以支持epoll)

Java 6,7,8

Maven3.2+

rabbitMQ

Java 6,7,8

maven3+

Hbase0.94+

Java 6,7,8

maven3.0+

nodejs

zookeeper

elasticsearch

實現方式

代碼埋點(攔截器,注解,過濾器等)

攔截請求,發(fā)送(http,mq)數據至zipkin服務

java探針,字節(jié)碼增強

java探針,字節(jié)碼增強

顆粒度

代碼級

接口級

方法級

方法級

頁面UI

*****

**

*****

****

存儲選擇

Mysql,hdfs

In-memory,mysql,cassandra,elasticsearch

Hbase

Elasticsearch,h2

通信方式

-

http,mq

Thrift

GRPC

MQ監(jiān)控

不支持

不支持

不支持

RocketMq,kafka

全局調用 統(tǒng)計

支持

不支持

支持

支持

Trace查詢

不持支

支持

不支持

支持

報警

支持

不支持

支持

支持

Jvm監(jiān)控

不支持

不支持

支持

支持

優(yōu)點

功能完善

spring-cloud-sleuth可以很好的集成zipkin , 代碼無侵入,集成非常簡單 , 社區(qū)更加活躍。對外提供有query接口,更加容易二次開發(fā)

完全無侵入, 僅需修改啟動方式,界面完善,功能細致。

完全無侵入,界面完善,支持應用拓撲圖及單個調用鏈查詢。功能比較完善(zipkin + pinpoint)

缺點

代碼侵入性較強,需要埋點文檔比較混亂,文檔與發(fā)布版本的符合性較低,需要依賴點評私服 (或者需要把他私服上的jar手動下載下來,然后上傳到我們的私服上去)。

默認使用的是http請求向zipkin上報信息,耗性能。跟sleuth結合可以使用rabbitMQ的方式異步來做,增加了復雜度,需要引入rabbitMQ 。數據分析比較簡單。

不支持查詢單個調用鏈, 對外表現的是整個應用的調用生態(tài)。二次開發(fā)難度較高

3.2版本之前BUG較多 ,網上反映兼容性較差 . 3.2新版本的反映情況較少依賴較多。

文檔

網上資料較少,僅官網提供的文檔,比較亂

文檔完善

文檔完善

文檔完善

開發(fā)者

大眾點評

Twiter

Naver

吳晟(華為開發(fā)者) ,目前已經加入Apache孵化器

使用公司

大眾點評,攜程,陸金所,同程旅游,獵聘網,拼多多

Twiter

Naver

華為,alibaba cloud,天源迪科,當當網,京東金融

功能

開源監(jiān)控平臺,用于從服務和云原生基礎設施收集、分析、聚合和可視化數據。SkyWalking提供了一種簡單的方法來維護分布式系統(tǒng)的清晰視圖,甚至可以跨云查看。它是一種現代APM,專門為云原生、基于容器的分布式系統(tǒng)設計

監(jiān)測對象包括:service(服務), service instance(實例), endpoint(端點)

功能描述:

  • 多種監(jiān)控手段,可以通過語言探針和service mesh獲得監(jiān)控的數據
  • 支持多重語言的自動探針,包括JAVA, .NET Core和NodeJS
  • 輕量高效,無需大數據平臺和大量的服務器資源
  • 模塊化,UI ,存儲,集群管理都有多種機制可選
  • 支持告警
  • 優(yōu)秀的可視化解決方案

架構

SkyWalking 在邏輯上分為四個部分:Probes、Platform backend、Storage 和 UI。

圖片圖片

探針Probe

采集tracing(調用鏈數據)和metric(指標)信息并上報,上報通過HTTP或者gRPC方式按要求重新格式化數據發(fā)送數據到Skywalking Collector

  • 自動探針:Java支持的中間件、框架與類庫列表
  • 手動探針:OpenTrackingApi、@Trace注解、trackId集成到日志中。

后端Platform backend

支持數據聚合、分析和流式處理,包括跟蹤、度量和日志。

基于gRpc、Http 鏈路數據收集器,對agent傳過來的tracing和metric數據進行整合分析通過Analysis Core模塊處理并落入相關的數據存儲中,同時會通過Query Core模塊進行二次統(tǒng)計和監(jiān)控告警

數據存儲Storage

通過開放/可插入接口存儲 SkyWalking 數據,支持多種方式存儲數據 H2,ElasticSearch,MySQL, TiDB, InfluxDB或自定義

可視化平臺UI

基于GraphQL Http 高度可定制的基于 Web 的界面的可視化平臺,允許 SkyWalking 最終用戶可視化和管理。

下載安裝

下載

官方下載地址:https://skywalking.apache.org/downloads/

歷史版本下載:https://archive.apache.org/dist/skywalking/

Rocketbot-UI 8.x:https://github.com/apache/skywalking-rocketbot-ui

Booster UI 9.x:https://github.com/apache/skywalking-booster-ui

注:APM已經集成UI,不需要單獨下載與部署

Window安裝

  • 安裝APM (8.9.1,h2)
  • 下載apache-skywalking-apm-bin
  • 解壓執(zhí)行命名 ~/bin/startup.bat
  • 訪問http://localhost:8080

圖片圖片

Docker安裝

  • 安裝OAP

下載鏡像

docker pull apache/skywalking-oap-server:8.9.1

啟動容器

docker run --name oap -p 12800:12800 -p 11800:11800 -p 1234:1234 --restart always -d apache/skywalking-oap-server:8.9.1
  • 安裝UI

下載鏡像

docker pull apache/skywalking-ui

啟動容器

docker run --name oap-ui -p 18080:8080 --restart always -d -e SW_OAP_ADDRESS=http://localhost:12800 apache/skywalking-ui

訪問http://localhost:18080

系統(tǒng)集成

  • 探針

負責進行數據的收集,包含了Tracing和Metrics的數據,agent會被安裝到服務所在的服務器上,以方便數據的獲取。探針使用gRPC協(xié)議與OAP平臺通信并上報數據。

  • 可觀測性分析平臺 OAP

接收探針發(fā)送的數據,并在內存中使用分析引擎(Analysis Core)進行數據的整合運算,然后將數據存儲到對應的存儲介質上,比如 Elasticsearch、MySQL等存儲服務。同時OAP還使用查詢引擎(Query Core)提供HTTP查詢接口。OAP默認監(jiān)聽兩個端口gRPC協(xié)議端口11800、HTTP端口12800,gRPC用于探針上報數據,HTTP端口用于UI連接OAP平臺獲取數據。

  • UI

Skywalking 提供單獨的UI進行數據的查看,UI調用OAP提供的接口,獲取對應的數據根據UI模板的配置進行展示。Skywalking UI與OAP之間使用Http協(xié)議進行通信。Skywalking UI默認監(jiān)聽8080端口提供Web服務。

Java Agent

  • 下載:Java Agent v8.11.0
  • 目錄結構

activations                 # 工具包,默認加載。

bootstrap-plugins           # 啟動插件,默認加載。

config                      # 配置文件

logs                        # 日志

optional-plugins            # 可選擴展插件,啟動不加載,如需加載將其移到到plugins目錄下。

optional-reporter-plugins   # 可選統(tǒng)計類插件,啟動不加載。

plugins                     # 服務類插件

skywalking-agent.jar        # 客戶端主程序,需要被服務啟動是引用。

  • 使用:項目啟動命令添加-javaagent:/path/skywalking-agent/skywalking-agent.jar
  • 示例:
java -javaagent:/path/skywalking-agent/skywalking-agent.jar -jar your-app.jar
  • 配置:
  • 系統(tǒng)屬性:-Dskywalking.[config]=[value]
  • 代理參數: -javaagent:skywalking-agent.jar=[config]=[value],...
  • 系統(tǒng)環(huán)境變量:agent.service_name=${SW_AGENT_NAME:Your_ApplicationName},如果SW_AGENT_NAME 您的操作系統(tǒng)中存在環(huán)境變量,并且其值為skywalking-agent-demo,則agent.service_name此處的值將被覆蓋為skywalking-agent-demo,否則將被設置為Your_ApplicationName。
  • 修改目錄/path/skywalking-agent/config/agent.config文件
// todo
//服務名稱
agent.service_name=${SW_AGENT_NAME:Your_ApplicationName}
// OAP服務地址
collector.backend_service=${SW_AGENT_COLLECTOR_BACKEND_SERVICES:127.0.0.1:11800}

代理選項 > System.Properties(-D) > 系統(tǒng)環(huán)境變量 > 配置文件

  • 官方文檔

Client JavaScript

  • 安裝
npm install skywalking-client-js --save
  • 注冊
import ClientMonitor from 'skywalking-client-js';

   // Report collected data to `http:// + window.location.host + /browser/perfData` in default
   ClientMonitor.register({
      collector: 'http://127.0.0.1:8080',
      service: 'test-ui',
      pagePath: '/current/page/name',
      serviceVersion: 'v1.0.0',
   });
// options
   {
      // 參考方法文檔
   }
  • 手動收集指標頁面加載時或任何其他有意義的時刻的指標,PV

register時設置autoTracePerf:false

  • 調用setPerformance
import ClientMonitor from 'skywalking-client-js';

   ClientMonitor.setPerformance({
      collector: 'http://127.0.0.1:8080',
      service: 'browser-app',
      serviceVersion: '1.0.0',
      pagePath: location.href,
      useFmp: true
   });
  • SPA

register時設置enableSPA:true,開啟單頁面應用基于hashchange event觸發(fā)指標采集行為

或者通過以下方法手動處理,在上報數據時手動更新頁面名稱,當調用該方法時,默認情況下將重新報告頁面PV

app.on('routeChange', function (next) {
      ClientMonitor.setPerformance({
         collector: 'http://127.0.0.1:8080',
         service: 'browser-app',
         serviceVersion: '1.0.0',
         pagePath: location.href,
         useFmp: true
      });
   });
  • 跟蹤請求數據支持跟蹤這些(XMLHttpRequest和Fetch API)兩種模式的數據請求。同時,支持基于XMLHttpRequest和fetch的跟蹤庫和工具,如Axios、SuperAgent、OpenApi等
// Angular
   import { ErrorHandler } from '@angular/core';
   import ClientMonitor from 'skywalking-client-js';

   export class AppGlobalErrorhandler implements ErrorHandler {
   handleError(error) {
      ClientMonitor.reportFrameErrors({
         collector: 'http://127.0.0.1',
         service: 'angular-demo',
         pagePath: '/app',
         serviceVersion: 'v1.0.0',
      }, error);
   }
   }
   @NgModule({
   ...
   providers: [{provide: ErrorHandler, useClass: AppGlobalErrorhandler}]
   })
   class AppModule {}
   ```

   ```js
   // React
   class ErrorBoundary extends React.Component {
   constructor(props) {
      super(props);
      this.state = { hasError: false };
   }
   static getDerivedStateFromError(error) {
      // Update state so the next render will show the fallback UI.
      return { hasError: true };
   }
   componentDidCatch(error, errorInfo) {
      // You can also log the error to an error reporting service
      ClientMonitor.reportFrameErrors({
         collector: 'http://127.0.0.1',
         service: 'react-demo',
         pagePath: '/app',
         serviceVersion: 'v1.0.0',
      }, error);
   }
   render() {
      if (this.state.hasError) {
         // You can render any custom fallback UI
         return <h1>Something went wrong.</h1>;
      }
      return this.props.children; 
   }
   }
   <ErrorBoundary>
   <MyWidget />
   </ErrorBoundary>
   ```

   ```js
   // Vue
   Vue.config.errorHandler = (error) => {
   ClientMonitor.reportFrameErrors({
      collector: 'http://127.0.0.1',
      service: 'vue-demo',
      pagePath: '/app',
      serviceVersion: 'v1.0.0',
   }, error);
   }
   ```
  • 官方文檔

skywalking-client-js

監(jiān)測對象

  • 服務(Service)
對請求提供端點的單個應用或負載,在使用埋點、代理或 SDK 的時候,你可以定義服務的名字。如果不定義的話,SkyWalking 會使用在agent.conf中配置的默認服務名稱。
  • 服務實例(Instance)
服務組中的每個單獨的工作負載都稱為一個實例。就像pods在 Kubernetes 中一樣,它不需要是單個操作系統(tǒng)進程,但是,如果您使用儀器代理,則實例實際上是一個真正的操作系統(tǒng)進程。
  • 端點(Endpoint)
用于傳入請求的服務中的路徑,例如 HTTP URI 路徑或 gRPC 服務類 + 方法簽名。

UI指標

通過配置文件定義需要關注的指標 通過特定的分析語言計算指標

UI包括以下幾個部分:

  • 儀表盤
  • 拓撲圖
  • 追蹤
  • 性能剖析
  • 日志
  • 告警
  • 事件
  • 調試

儀表盤

APM

  • Global

Services Load(CPM / PPM):服務每分鐘請求數

Slow Services(ms):慢響應服務(按照響應時間排序)

Un-Health Services (Apdex):Apdex分數(1為滿分)

Slow Endpoints (ms):慢Endpoint的平均響應時間

Global Response Latency(percentile in ms):響應時間百分比

Global Heatmap:服務響應時間熱力分布圖,根據時間段內不同響應時間的數量顯示顏色深度顏色越深,請求越多。

  • Service
  • Service Apdex 數字:當前服務的Apdex分數;
  • Successful Rate(%):當前服務的請求成功率;
  • Service Load (CPM / PPM)數字:每分鐘調用次數(CPM),如果是TCP,表示每分鐘的數據包數(PPM);
  • Service Avg Response Time(ms):當前服務平均響應時間;
  • Service Apdex 折線圖:當前服務一段時間內的Apdex分數;
  • Service Response Time Percentile(ms):當前服務的百分比響應延時;
  • Successful Rate(%)折線圖:當前服務一段時間內的請求成功率;
  • Service Load (CPM / PPM)折線圖:當前服務一段時間內的每分鐘調用次數;
  • Service Throughput(Bytes):服務吞吐量,只適用于TCP服務;
  • Message Queue Consuming Count:消息隊列消費數;
  • Message Queue Avg Consuming Latency(ms):消息隊列平均延遲時間;
  • Service Instances Load(CPM / PPM):每個實例每分鐘請求數;
  • Slow Service Instance(ms):每個服務實例平均延時;
  • Service Instance Successful Rate(%):服務實例的請求成功率。
  • Instance
  • instance_jvm_memory_heap(堆內存使用)
  • instance_jvm_memory_heap_max(最大堆內存)
  • instance_jvm_memory_noheap(直接內存使用)
  • instance_jvm_memory_noheap_max(最大直接內存)
  • Service Instance Load(CPM / PPM):當前實例每分鐘調用數;
  • Service Instance Throughput(Bytes):當前實例的吞吐流量;
  • Service Instance Successful Rate(%):當前實例調用成功比率;
  • Service Instance Latency(ms):當前實例響應延時;
  • JVM CPU(Java Service)%:當前實例JVM的CPU占用百分比(相對于主機);
  • JVM Memory (Java Service)(MB):當前實例的內存占用大??;
  • JVM GC Time(ms):JVM 垃圾回收時間,包含young gc和old gc;
  • JVM GC Count:JVM垃圾回收次數,包含young gc count和old gc count;
  • JVM Thread Count(java service):當前實例的線程數;
  • JVM Thread State Count (Java Service):當前實例的各狀態(tài)線程數;
  • JVM Class Count (Java Service):當前實例類的計數。
  • Endpoint
  • Endpoint Load in Current Service(CPM / PPM):當前服務每個端點的每分鐘請求數;
  • Slow Endpoints in Current Service(ms):當前服務每個端點的平均響應時間;
  • Successful Rate in Current Service(%):當前服務每個端點的請求成功率;
  • Endpoint Load:當前端點每個時間段的請求量;
  • Endpoint Avg Response Time(ms):當前端點每個時間段的平均請求響應時間;
  • Endpoint Response Time Percentile(ms):當前端點每個時間段的響應時間占比;
  • Endpoint Successful Rate(%):當前端點每個時間段的請求成功率;

Database

  • Database Avg Response Time(ms):當前數據庫平均響應時間;
  • Database Access Successful Rate(%):當前數據庫訪問成功率;
  • Database Traffic(CPM: Calls Per Minute):當前數據庫每分鐘請求數;
  • Database Access Latency Percentile(ms):當前數據庫響應延遲時間的百分比;
  • Slow Statements(ms):慢查詢,按照執(zhí)行時間排序;
  • All Database Loads(CPM: Calls Per Minute):所有數據庫的請求次數排序;
  • Un-Health Databases (Successful Rate):所有數據庫請求成功率排序。

SelfObservability

自監(jiān)控,OAP服務端的各項指標

  • 修改配置config/application.yml
# 將-修改為default
   prometheus-fetcher:
     selector: ${SW_PROMETHEUS_FETCHER:default}
     #default:
     #   active: ${SW_PROMETHEUS_FETCHER_ACTIVE:true}

   # 改none為prometheus
   telemetry:
     selector: ${SW_TELEMETRY:prometheus} 
     prometheus:
       host: ${SW_TELEMETRY_PROMETHEUS_HOST:0.0.0.0}
       port: ${SW_TELEMETRY_PROMETHEUS_PORT:1234}
  • 如果telemetry有調整,則對應修改修改config/fetcher-prom-rules/self.yaml
fetcherInterval: PT15S
   fetcherTimeout: PT10S
   metricsPath: /metrics
   staticConfig:
      # 改為上步中telemetry配置的ip
      targets:
         - url: http://localhost:1234 
            sslCaFilePath:
      labels:
         service: oap-server
  • 檢查:curl http://localhost:1234/metrics

Event

Istio、K8s

VM

Web Browser

對前端也有一定的監(jiān)控,通過Skywalking-Client-js組件來操作,包括Web App、Pages兩個指標。

拓撲圖

  • 服務選擇器 支持顯示直接關系,包括上游和下游;
  • 自定義組 提供服務組的任意子拓撲功能,但是分組的信息是保存在瀏覽器內的;
  • 服務菜單 當您單擊任何服務時打開。該圖形可以對所選擇的服務進行度量、跟蹤和告警查詢;
  • 服務指標的關系 提供服務RPC交互的度量以及這兩個服務的實例。

追蹤

看每個接口的調用鏈,每個鏈路耗時、狀態(tài)。如果為失敗展示錯誤信息,如果是數據庫,會展示查詢語句。另外可以根據追蹤tid(trace id)和標記(tag)進行篩選。

性能剖析

日志

告警

事件

調試

日志集成

支持logback、log4j、log4j2日志框架集成,基于gRpc通信協(xié)議實現日志采集。

以logback為例:

  • 引入依賴
<dependency>
            <groupId>org.apache.skywalking</groupId>
            <artifactId>apm-toolkit-logback-1.x</artifactId>
            <version>8.9.0</version>
        </dependency>
  • 修改logback.xml配置
<!-- ... -->

      <appender name="grpc-log" class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.log.GRPCLogClientAppender">
         <encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
            <layout class="org.apache.skywalking.apm.toolkit.log.logback.v1.x.mdc.TraceIdMDCPatternLogbackLayout">
                  <Pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%X{tid}] [%thread] %-5level %logger{36} -%msg%n</Pattern>
            </layout>
         </encoder>
      </appender>

      <root level="INFO">
         <!-- ... -->
         <appender-ref ref="grpc-log"/>
      </root>
  • 修改agent配置 ~/config/agent.config
plugin.toolkit.log.grpc.reporter.server_host=${SW_GRPC_LOG_SERVER_HOST:0.0.0.0}
   plugin.toolkit.log.grpc.reporter.server_port=${SW_GRPC_LOG_SERVER_PORT:11800}
   plugin.toolkit.log.grpc.reporter.max_message_size=${SW_GRPC_LOG_MAX_MESSAGE_SIZE:10485760} 
   plugin.toolkit.log.grpc.reporter.upstream_timeout=${SW_GRPC_LOG_GRPC_UPSTREAM_TIMEOUT:30}
  • 官方示例

https://skywalking.apache.org/docs/skywalking-java/v8.11.0/en/setup/service-agent/java-agent/application-toolkit-logback-1.x/

監(jiān)控方法

通過@Trace注解標記需要追蹤的方法調用情況

  • 引入依賴
<dependency>
         <groupId>org.apache.skywalking</groupId>
         <artifactId>apm-toolkit-trace</artifactId>
         <version>8.9.0</version>
      </dependency>
  • 修改代碼
@Trace
   @GetMapping("/printLog")
   public String printLog() {
      Logger.info("traceId:{}",TraceContext.traceId())
      return "ok";
   }

告警接入

  • 規(guī)則修改配置config/alarm-settings.yml
  • 鉤子支持WebHook、GRPCHook、SlackHook、WechatHook、DingtalkHook、FeishuHook實現告警信息推送

場景

指標性統(tǒng)計

一個服務的 TBS 的正確率、成功率、流量等,這是我們常見的針對單個指標或者某一個數據庫的,這就是 Metrics 單指標分析

Tracing 分布式追蹤

一次請求的范圍,也就是我們從瀏覽器或者手機端發(fā)起任何的一次調用,甚至我們可以再推廣一點,是一次業(yè)務交易,比如說一次訂購的過程,從瀏覽商品到最后下定單、支付、物流、最后交到我們的手上。這是一個流程化的東西,我們需要軌跡,需要去追蹤。

Logging 日志記錄

我們程序在執(zhí)行的過程中間發(fā)生了一些日志,會一幀一幀地跳出來給大家去記錄這個東西,這是日志記錄。

關鍵詞

  • Topology:拓撲
  • Trace:追蹤
  • Metrics:度量
  • Span:
  • Apdex:是根據設定的閾值和響應時間結合考慮的衡量標準。它是滿意響應時間和不滿意響應時間相對于總響應時間的比率。它衡量的是用戶對你的服務的滿意程度,因為傳統(tǒng)的指標(如平均響應時間)可能很快就會容易形成偏差。
  • percentile:標簽含義(p50、p75、p90、p95、p99):例如p99為1000ms, 這意味著 99% 的請求應該比1000ms更快

結束語

Apache SkyWalking是一款功能強大的APM系統(tǒng),可以幫助開發(fā)人員和運維人員更好地了解分布式系統(tǒng)的性能狀況。通過使用SkyWalking,可以提高應用程序的穩(wěn)定性和性能,降低運維成本。

責任編輯:武曉燕 來源: Java技術指北
相關推薦

2023-11-20 08:18:49

Netty服務器

2022-11-11 19:09:13

架構

2022-02-24 07:34:10

SSL協(xié)議加密

2023-11-08 08:15:48

服務監(jiān)控Zipkin

2023-10-27 08:15:45

2020-02-02 15:14:24

HTTP黑科技前端

2025-01-15 09:06:57

servlet服務器Java

2020-10-08 14:32:57

大數據工具技術

2022-09-29 13:09:38

DataClassPython代碼

2022-04-28 09:22:46

Vue灰度發(fā)布代碼

2018-10-22 08:14:04

2022-02-18 10:13:07

SolrElasticSea開源

2019-07-04 15:16:52

數據挖掘大數據算法

2022-09-06 11:21:49

光網絡光纖

2023-03-31 08:16:53

Flutter優(yōu)化內存管理

2023-12-06 16:28:56

2024-05-07 08:49:36

Hadoop數據存儲-分布式存儲

2019-08-06 09:00:00

JavaScript函數式編程前端

2023-05-17 11:33:45

梯度下降機器學習

2024-05-27 00:00:00

.NET游戲引擎C#
點贊
收藏

51CTO技術棧公眾號