www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 公眾號(hào)精選 > 架構(gòu)師社區(qū)
[導(dǎo)讀]作者:Richard_Yi 來(lái)源:http://39sd.cn/B2A0B 去年我們項(xiàng)目做了微服務(wù)1.0的架構(gòu)轉(zhuǎn)型,但是服務(wù)監(jiān)控這塊卻沒(méi)有跟上。這不,最近我就被分配了要將我們核心的微服務(wù)應(yīng)用全部監(jiān)控起來(lái)的任務(wù)。我們的微服務(wù)應(yīng)用都是SpringBoot 應(yīng)用,因此就自然而然的想到了借助Sp


作者:Richard_Yi
來(lái)源:http://39sd.cn/B2A0B


去年我們項(xiàng)目做了微服務(wù)1.0的架構(gòu)轉(zhuǎn)型,但是服務(wù)監(jiān)控這塊卻沒(méi)有跟上。這不,最近我就被分配了要將我們核心的微服務(wù)應(yīng)用全部監(jiān)控起來(lái)的任務(wù)。我們的微服務(wù)應(yīng)用都是SpringBoot 應(yīng)用,因此就自然而然的想到了借助Spring Boot 的Actuator 模塊。

本篇是我在完成這個(gè)工單之后,對(duì)Spring Boot Actuator模塊 學(xué)習(xí)應(yīng)用的總結(jié)。在本篇文章中,你可以學(xué)習(xí)到:

1、Spring Boot Actuator 的快速使用入門
2、Spring Boot Actuator 的一些重要的endpoints的介紹
3、如何通過(guò)Actuator 模塊實(shí)時(shí)查看當(dāng)前應(yīng)用的線程 dump信息
4、如何通過(guò)Actuator 模塊實(shí)時(shí)查看當(dāng)前應(yīng)用的堆信息
5、如何通過(guò)Actuator 模塊實(shí)時(shí)修改當(dāng)前應(yīng)用的日志打印等級(jí)
6、...

之后我還會(huì)介紹:

TODO:SpringBoot 微服務(wù)應(yīng)用集成Prometheus + Grafana實(shí)現(xiàn)監(jiān)控告警


一、什么是 Spring Boot Actuator

Spring Boot Actuator 模塊提供了生產(chǎn)級(jí)別的功能,比如健康檢查,審計(jì),指標(biāo)收集,HTTP 跟蹤等,幫助我們監(jiān)控和管理Spring Boot 應(yīng)用、Bean加載情況、環(huán)境變量、日志信息、線程信息,JVM 堆信息等 。這個(gè)模塊是一個(gè)采集應(yīng)用內(nèi)部信息暴露給外部的模塊,上述的功能都可以通過(guò)HTTP 和 JMX 訪問(wèn)。

因?yàn)楸┞秲?nèi)部信息的特性,Actuator 也可以和一些外部的應(yīng)用監(jiān)控系統(tǒng)整合(Prometheus, Graphite, DataDog, Influx, Wavefront, New Relic等)。這些監(jiān)控系統(tǒng)提供了出色的儀表板,圖形,分析和警報(bào),可幫助你通過(guò)一個(gè)統(tǒng)一友好的界面,監(jiān)視和管理你的應(yīng)用程序。

Actuator使用Micrometer與這些外部應(yīng)用程序監(jiān)視系統(tǒng)集成。這樣一來(lái),只需很少的配置即可輕松集成外部的監(jiān)控系統(tǒng)。

Micrometer 為 Java 平臺(tái)上的性能數(shù)據(jù)收集提供了一個(gè)通用的 API,應(yīng)用程序只需要使用 Micrometer 的通用 API 來(lái)收集性能指標(biāo)即可。Micrometer 會(huì)負(fù)責(zé)完成與不同監(jiān)控系統(tǒng)的適配工作。這就使得切換監(jiān)控系統(tǒng)變得很容易。

對(duì)比 Slf4j 之于 Java Logger 中的定位。


二、快速開(kāi)始,創(chuàng)建一個(gè)Spring Boot Actuator Demo

我們先創(chuàng)建一個(gè)demo應(yīng)用。

你可以通過(guò)Spring Boot CLI 創(chuàng)建:

    
  1. spring init -d=web,actuator -n=actuator-demo actuator-demo

或者通過(guò)Spring Initializr 創(chuàng)建:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

對(duì)應(yīng)的maven依賴:

    
  1. <dependencies>

  2. ...

  3. <dependency>

  4. <groupId>org.springframework.boot</groupId>

  5. <artifactId>spring-boot-starter-actuator</artifactId>

  6. </dependency>

  7. ...

  8. </dependencies>

對(duì)應(yīng)的Gradle 依賴:

    
  1. dependencies {

  2. compile("org.springframework.boot:spring-boot-starter-actuator")

  3. }


三、Endpoints 介紹

Spring Boot 提供了所謂的 endpoints (下文翻譯為端點(diǎn))給外部來(lái)與應(yīng)用程序進(jìn)行訪問(wèn)和交互。

打比方來(lái)說(shuō), /health 端點(diǎn) 提供了關(guān)于應(yīng)用健康情況的一些基礎(chǔ)信息。metrics 端點(diǎn)提供了一些有用的應(yīng)用程序指標(biāo)(JVM 內(nèi)存使用、系統(tǒng)CPU使用等)。

這些 Actuator 模塊本來(lái)就有的端點(diǎn)我們稱之為原生端點(diǎn)。根據(jù)端點(diǎn)的作用的話,我們大概可以分為三大類:

應(yīng)用配置類:獲取應(yīng)用程序中加載的應(yīng)用配置、環(huán)境變量、自動(dòng)化配置報(bào)告等與Spring Boot應(yīng)用密切相關(guān)的配置類信息。

度量指標(biāo)類:獲取應(yīng)用程序運(yùn)行過(guò)程中用于監(jiān)控的度量指標(biāo),比如:內(nèi)存信息、線程池信息、HTTP請(qǐng)求統(tǒng)計(jì)等。

操作控制類:提供了對(duì)應(yīng)用的關(guān)閉等操作類功能。

詳細(xì)的原生端點(diǎn)介紹,請(qǐng)以官網(wǎng)為準(zhǔn),這里就不贅述徒增篇幅。

需要注意的就是:

1、每一個(gè)端點(diǎn)都可以通過(guò)配置來(lái)單獨(dú)禁用或者啟動(dòng)

2、不同于Actuator 1.x,Actuator 2.x 的大多數(shù)端點(diǎn)默認(rèn)被禁掉。Actuator 2.x 中的默認(rèn)端點(diǎn)增加了 /actuator前綴。默認(rèn)暴露的兩個(gè)端點(diǎn)為 /actuator/health/actuator/info


四、端點(diǎn)暴露配置

我們可以通過(guò)以下配置,來(lái)配置通過(guò)JMX 和 HTTP 暴露的端點(diǎn)。

Property Default
management.endpoints.jmx.exposure.exclude
management.endpoints.jmx.exposure.include *
management.endpoints.web.exposure.exclude
management.endpoints.web.exposure.include info,healt

可以打開(kāi)所有的監(jiān)控點(diǎn)

    
  1. management.endpoints.web.exposure.include=*

也可以選擇打開(kāi)部分,"*" 代表暴露所有的端點(diǎn),如果指定多個(gè)端點(diǎn),用","分開(kāi)

    
  1. management.endpoints.web.exposure.exclude=beans,trace

Actuator 默認(rèn)所有的監(jiān)控點(diǎn)路徑都在 /actuator/*,當(dāng)然如果有需要這個(gè)路徑也支持定制。

    
  1. management.endpoints.web.base-path=/minitor

設(shè)置完重啟后,再次訪問(wèn)地址就會(huì)變成 /minitor/*

現(xiàn)在我們按照如下配置:

    
  1. # "*" 代表暴露所有的端點(diǎn) 如果指定多個(gè)端點(diǎn),用","分開(kāi)

  2. management.endpoints.web.exposure.include=*

  3. # 賦值規(guī)則同上

  4. management.endpoints.web.exposure.exclude=

啟動(dòng)DEMO程序,訪問(wèn) http://localhost:8080/actuator,查看暴露出來(lái)的端點(diǎn):

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控


上面這樣顯示是因?yàn)閏hrome 瀏覽器安裝了 JSON-handle 插件,實(shí)際上就是返回一大段json

下面,我會(huì)著重介紹幾個(gè)比較重要的端點(diǎn)。


五、重要端點(diǎn)解析

5.1 /health端點(diǎn)

/health端點(diǎn)會(huì)聚合你程序的健康指標(biāo),來(lái)檢查程序的健康情況。端點(diǎn)公開(kāi)的應(yīng)用健康信息取決于:

    
  1. management.endpoint.health.show-details=always

該屬性可以使用以下值之一進(jìn)行配置:

Name Description
never 不展示詳細(xì)信息,up或者down的狀態(tài),默認(rèn)配置
when-authorized 詳細(xì)信息將會(huì)展示給通過(guò)認(rèn)證的用戶。授權(quán)的角色可以通過(guò) management.endpoint.health.roles配置
always 對(duì)所有用戶暴露詳細(xì)信息

按照上述配置,配置成 always之后,我們啟動(dòng)項(xiàng)目,訪問(wèn) http://localhost:8080/actuator/health端口,可以看到這樣的信息:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

是不是感覺(jué)好像健康信息有點(diǎn)少?先別急,那是因?yàn)槲覀儎?chuàng)建的是一個(gè)最基礎(chǔ)的Demo項(xiàng)目,沒(méi)有依賴很多的組件。

/health端點(diǎn)有很多自動(dòng)配置的健康指示器:如redis、rabbitmq、db等組件。當(dāng)你的項(xiàng)目有依賴對(duì)應(yīng)組件的時(shí)候,這些健康指示器就會(huì)被自動(dòng)裝配,繼而采集對(duì)應(yīng)的信息。如上面的 diskSpace 節(jié)點(diǎn)信息就是 DiskSpaceHealthIndicator 在起作用。

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

上述截圖取自官方文檔

這是我另一個(gè)項(xiàng)目的 /health端點(diǎn)信息。

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

當(dāng)如上的組件有一個(gè)狀態(tài)異常,應(yīng)用服務(wù)的整體狀態(tài)即為down。我們也可以通過(guò)配置禁用某個(gè)組件的健康監(jiān)測(cè)。

    
  1. management.health.mongo.enabled: false

或者禁用所有自動(dòng)配置的健康指示器:

    
  1. management.health.defaults.enabled: false

?自定義 Health Indicator

當(dāng)然你也可以自定義一個(gè)Health Indicator,只需要實(shí)現(xiàn) HealthIndicator 接口或者繼承 AbstractHealthIndicator類。

    
  1. /**

  2. * @author Richard_yyf

  3. * @version 1.0 2020/1/16

  4. */

  5. @Component

  6. publicclassCustomHealthIndicatorextendsAbstractHealthIndicator{


  7. @Override

  8. protectedvoid doHealthCheck(Health.Builder builder) throwsException{

  9. // 使用 builder 來(lái)創(chuàng)建健康狀態(tài)信息

  10. // 如果你throw 了一個(gè) exception,那么status 就會(huì)被置為DOWN,異常信息會(huì)被記錄下來(lái)

  11. builder.up()

  12. .withDetail("app", "這個(gè)項(xiàng)目很健康")

  13. .withDetail("error", "Nothing, I'm very good");

  14. }

  15. }

最終效果:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

5.2 /metrics端點(diǎn)

/metrics端點(diǎn)用來(lái)返回當(dāng)前應(yīng)用的各類重要度量指標(biāo),比如:內(nèi)存信息、線程信息、垃圾回收信息、tomcat、數(shù)據(jù)庫(kù)連接池等。

    
  1. {

  2. "names": [

  3. "tomcat.threads.busy",

  4. "jvm.threads.states",

  5. "jdbc.connections.active",

  6. "jvm.gc.memory.promoted",

  7. "http.server.requests",

  8. "hikaricp.connections.max",

  9. "hikaricp.connections.min",

  10. "jvm.memory.used",

  11. "jvm.gc.max.data.size",

  12. "jdbc.connections.max",

  13. ....

  14. ]

  15. }

不同于1.x,Actuator在這個(gè)界面看不到具體的指標(biāo)信息,只是展示了一個(gè)指標(biāo)列表。為了獲取到某個(gè)指標(biāo)的詳細(xì)信息,我們可以請(qǐng)求具體的指標(biāo)信息,像這樣:

    
  1. http://localhost:8080/actuator/metrics/{MetricName}

比如我訪問(wèn) /actuator/metrics/jvm.memory.max,返回信息如下:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

你也可以用query param的方式查看單獨(dú)的一塊區(qū)域。比如你可以訪問(wèn) /actuator/metrics/jvm.memory.max?tag=id:Metaspace。結(jié)果就是:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

5.3 /loggers端點(diǎn)

/loggers 端點(diǎn)暴露了我們程序內(nèi)部配置的所有l(wèi)ogger的信息。我們?cè)L問(wèn) /actuator/loggers可以看到,

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

你也可以通過(guò)下述方式訪問(wèn)單獨(dú)一個(gè)logger,

    
  1. http://localhost:8080/actuator/loggers/{name}

比如我現(xiàn)在訪問(wèn) root logger, http://localhost:8080/actuator/loggers/root

    
  1. {

  2. "configuredLevel": "INFO",

  3. "effectiveLevel": "INFO"

  4. }

?改變運(yùn)行時(shí)的日志等級(jí)

/loggers端點(diǎn)我最想提的就是這個(gè)功能,能夠動(dòng)態(tài)修改你的日志等級(jí)。

比如,我們可以通過(guò)下述方式來(lái)修改 root logger的日志等級(jí)。我們只需要發(fā)起一個(gè)URL 為 http://localhost:8080/actuator/loggers/rootPOST請(qǐng)求,POST報(bào)文如下:

    
  1. {

  2. "configuredLevel": "DEBUG"

  3. }

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

仔細(xì)想想,這個(gè)功能是不是非常有用。如果在生產(chǎn)環(huán)境中,你想要你的應(yīng)用輸出一些Debug信息以便于你診斷一些異常情況,你你只需要按照上述方式就可以修改,而不需要重啟應(yīng)用。

如果想重置成默認(rèn)值,把value 改成 null

5.4 /info端點(diǎn)

/info端點(diǎn)可以用來(lái)展示你程序的信息。我理解過(guò)來(lái)就是一些程序的基礎(chǔ)信息。并且你可以按照自己的需求在配置文件 application.properties中個(gè)性化配置(默認(rèn)情況下,該端點(diǎn)只會(huì)返回一個(gè)空的json內(nèi)容。):

    
  1. info.app.name=actuator-test-demo

  2. info.app.encoding=UTF-8

  3. info.app.java.source=1.8

  4. info.app.java.target=1.8

  5. # 在 maven 項(xiàng)目中你可以直接用下列方式引用 maven properties的值

  6. # info.app.encoding=@project.build.sourceEncoding@

  7. # info.app.java.source=@java.version@

  8. # info.app.java.target=@java.version@

啟動(dòng)項(xiàng)目,訪問(wèn) http://localhost:8080/actuator/info

    
  1. {

  2. "app": {

  3. "encoding": "UTF-8",

  4. "java": {

  5. "source": "1.8.0_131",

  6. "target": "1.8.0_131"

  7. },

  8. "name": "actuator-test-demo"

  9. }

  10. }

5.5 /beans端點(diǎn)

/beans端點(diǎn)會(huì)返回Spring 容器中所有bean的別名、類型、是否單例、依賴等信息。

訪問(wèn) http://localhost:8080/actuator/beans,返回如下:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

5.6 /heapdump 端點(diǎn)

訪問(wèn):http://localhost:8080/actuator/heapdump會(huì)自動(dòng)生成一個(gè) Jvm 的堆文件 heapdump。我們可以使用 JDK 自帶的 Jvm 監(jiān)控工具 VisualVM 打開(kāi)此文件查看內(nèi)存快照。

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

5.7 /threaddump 端點(diǎn)

這個(gè)端點(diǎn)我個(gè)人覺(jué)得特別有用,方便我們?cè)谌粘6ㄎ粏?wèn)題的時(shí)候查看線程的情況。主要展示了線程名、線程ID、線程的狀態(tài)、是否等待鎖資源、線程堆棧等信息。就是可能查看起來(lái)不太直觀。訪問(wèn) http://localhost:8080/actuator/threaddump返回如下:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

5.8 /shutdown端點(diǎn)

這個(gè)端點(diǎn)屬于操作控制類端點(diǎn),可以優(yōu)雅關(guān)閉 Spring Boot 應(yīng)用。要使用這個(gè)功能首先需要在配置文件中開(kāi)啟:

    
  1. management.endpoint.shutdown.enabled=true

由于 shutdown 接口默認(rèn)只支持 POST 請(qǐng)求,我們啟動(dòng)Demo項(xiàng)目,向 http://localhost:8080/actuator/shutdown發(fā)起 POST請(qǐng)求。返回信息:

    
  1. {

  2. "message": "Shutting down, bye..."

  3. }

然后應(yīng)用程序被關(guān)閉。

由于開(kāi)放關(guān)閉應(yīng)用的操作本身是一件非常危險(xiǎn)的事,所以真正在線上使用的時(shí)候,我們需要對(duì)其加入一定的保護(hù)機(jī)制,比如:定制Actuator的端點(diǎn)路徑、整合Spring Security進(jìn)行安全校驗(yàn)等。(不是特別必要的話,這個(gè)端點(diǎn)不用開(kāi))


六、整合Spring Security 對(duì)端點(diǎn)進(jìn)行安全校驗(yàn)

由于端點(diǎn)的信息和產(chǎn)生的交互都是非常敏感的,必須防止未經(jīng)授權(quán)的外部訪問(wèn)。如果您的應(yīng)用程序中存在Spring Security的依賴,則默認(rèn)情況下使用基于表單的HTTP身份驗(yàn)證來(lái)保護(hù)端點(diǎn)。

如果沒(méi)有,只需要增加對(duì)應(yīng)的依賴即可:

    
  1. <dependency>

  2. <groupId>org.springframework.boot</groupId>

  3. <artifactId>spring-boot-starter-security</artifactId>

  4. </dependency>

添加之后,我們需要定義安全校驗(yàn)規(guī)則,來(lái)覆蓋Spring Security 的默認(rèn)配置。

這里我給出了兩個(gè)版本的模板配置:

    
  1. import org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest;

  2. import org.springframework.boot.actuate.context.ShutdownEndpoint;

  3. import org.springframework.boot.autoconfigure.security.servlet.PathRequest;

  4. import org.springframework.context.annotation.Configuration;

  5. import org.springframework.security.config.annotation.web.builders.HttpSecurity;

  6. import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;


  7. /**

  8. * @author Richard_yyf

  9. */

  10. @Configuration

  11. publicclassActuatorSecurityConfigextendsWebSecurityConfigurerAdapter{


  12. /*

  13. * version1:

  14. * 1. 限制 '/shutdown'端點(diǎn)的訪問(wèn),只允許ACTUATOR_ADMIN訪問(wèn)

  15. * 2. 允許外部訪問(wèn)其他的端點(diǎn)

  16. * 3. 允許外部訪問(wèn)靜態(tài)資源

  17. * 4. 允許外部訪問(wèn) '/'

  18. * 5. 其他的訪問(wèn)需要被校驗(yàn)

  19. * version2:

  20. * 1. 限制所有端點(diǎn)的訪問(wèn),只允許ACTUATOR_ADMIN訪問(wèn)

  21. * 2. 允許外部訪問(wèn)靜態(tài)資源

  22. * 3. 允許外部訪問(wèn) '/'

  23. * 4. 其他的訪問(wèn)需要被校驗(yàn)

  24. */


  25. @Override

  26. protectedvoid configure(HttpSecurity http) throwsException{

  27. // version1

  28. // http

  29. // .authorizeRequests()

  30. // .requestMatchers(EndpointRequest.to(ShutdownEndpoint.class))

  31. // .hasRole("ACTUATOR_ADMIN")

  32. // .requestMatchers(EndpointRequest.toAnyEndpoint())

  33. // .permitAll()

  34. // .requestMatchers(PathRequest.toStaticResources().atCommonLocations())

  35. // .permitAll()

  36. // .antMatchers("/")

  37. // .permitAll()

  38. // .antMatchers("/**")

  39. // .authenticated()

  40. // .and()

  41. // .httpBasic();


  42. // version2

  43. http

  44. .authorizeRequests()

  45. .requestMatchers(EndpointRequest.toAnyEndpoint())

  46. .hasRole("ACTUATOR_ADMIN")

  47. .requestMatchers(PathRequest.toStaticResources().atCommonLocations())

  48. .permitAll()

  49. .antMatchers("/")

  50. .permitAll()

  51. .antMatchers("/**")

  52. .authenticated()

  53. .and()

  54. .httpBasic();

  55. }

  56. }

application.properties的相關(guān)配置如下:

    
  1. # Spring Security Default user name and password

  2. spring.security.user.name=actuator

  3. spring.security.user.password=actuator

  4. spring.security.user.roles=ACTUATOR_ADMIN


Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

特別推薦一個(gè)分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒(méi)關(guān)注的小伙伴,可以長(zhǎng)按關(guān)注一下:

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

長(zhǎng)按訂閱更多精彩▼

Spring Boot 服務(wù)監(jiān)控,健康檢查,線程信息,JVM堆信息,指標(biāo)收集,運(yùn)行情況監(jiān)控

如有收獲,點(diǎn)個(gè)在看,誠(chéng)摯感謝


免責(zé)聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺(tái)僅提供信息存儲(chǔ)服務(wù)。文章僅代表作者個(gè)人觀點(diǎn),不代表本平臺(tái)立場(chǎng),如有問(wèn)題,請(qǐng)聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉