精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

優化 Kubernetes 中的 Java 無服務器函數

開發 后端
在 Kubernetes 中運行無服務器函數時,實現更快的啟動速度和更小的內存占用。

由于運行上千個應用程序容器莢Pod所耗費的資源多,令它實現較少工作節點和資源占用所需成本也較高,所以在使用 ??Kubernetes?? 時,快速啟動和較少的內存占用是至關重要的。在 Kubernetes 平臺運行容器化微服務時,內存占用是比吞吐量更重要的考量因素,這是因為:

  • 由于需要持續運行,所以耗費資源更多(不同于 CPU 占用)
  • 微服務令開銷成本成倍增加
  • 一個單體應用程序變為若干個微服務的情況(例如 20 個微服務占用的存儲空間約有 20GB)

這些情況極大影響了無服務器函數的發展和 Java 部署模型。到目前為止,許多企業開發人員選擇 Go、Python 或 Node.js 這些替代方案來解決性能瓶頸,直到出現了 ??Quarkus?? 這種基于 kubernetes 的原生 Java 堆棧,才有所改觀。本文介紹如何在使用了 Quarkus 的 kubernetes 平臺上進行性能優化,以便運行無服務器函數。

容器優先的設計理念

由于 Java 生態系統中傳統的框架都要進行框架的初始化,包括配置文件的處理、??classpath?? 的掃描、類加載、注解的處理以及構建元模型,這些過程都是必不可少的,所以它們都比較耗費資源。如果使用了幾種不同的框架,所耗費的資源也是成倍增加。

Quarkus 通過“左移shifting left”,把所有的資源開銷大的操作都轉移到構建階段,解決了這些 Java 性能問題。在構建階段進行代碼和框架分析、字節碼轉換和動態元模型生成,而且只有一次,結果是:運行時可執行文件經過高度優化,啟動非常快,不需要經過那些傳統的啟動過程,全過程只在構建階段執行一次。

Quarkus Build phase

更重要的是:Quarkus 支持構建原生可執行文件,它具有良好性能,包括快速啟動和極小的駐留集大小resident set size(RSS)內存占用,跟傳統的云原生 Java 棧相比,具備即時擴展的能力和高密度的內存利用。

Quarkus RSS and Boot Time Metrics

這里有個例子,展示如何使用 Quarkus 將一個 ??Java 無服務器?? 項目構建為本地可執行文件。

1、使用 Quarkus 創建無服務器 Maven 項目

以下命令生成一個 Quarkus 項目,(例如 ??quarkus-serverless-native??)以此創建一個簡單的函數:

$ mvn io.quarkus:quarkus-maven-plugin:1.13.4.Final:create \       -DprojectGroupId=org.acme \       -DprojectArtifactId=quarkus-serverless-native \       -DclassName="org.acme.getting.started.GreetingResource"

2、構建一個本地可執行文件

你需要使用 GraalVM 為 Java 程序構建一個本地可執行文件。你可以選擇 GraalVM 的任何發行版,例如 ??Oracle GraalVM Community Edition (CE)??? 或 ??Mandrel??(Oracle GraalVM CE 的下游發行版)。Mandrel 是為支持 OpenJDK 11 上的 Quarkus-native 可執行文件的構建而設計的。

打開 ??pom.xml???,你將發現其中的 ??native?? 設置。你將使用它來構建本地可執行文件。

<profiles>    <profile>        <id>native</id>        <properties>            <quarkus.package.type>native</quarkus.package.type>        </properties>    </profile></profiles>

注意: 你可以在本地安裝 GraalVM 或 Mandrel 發行版。你也可以下載 Mandrel 容器映像來構建它(像我那樣),因此你還需要在本地運行一個容器引擎(例如 Docker)。

假設你已經打開了容器運行時,此時需要運行一下 Maven 命令:

使用 ??Docker?? 作為容器引擎:

$ ./mvnw package -Pnative \  -Dquarkus.native.container-build=true \  -Dquarkus.native.container-runtime=docker

使用 ??Podman?? 作為容器引擎:

$ ./mvnw package -Pnative \  -Dquarkus.native.container-build=true \  -Dquarkus.native.container-runtime=podman

輸出信息結尾應當是 ??BUILD SUCCESS??。

Native Build Logs

不借助 JVM 直接運行本地可執行文件:

$ target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner

輸出信息類似于:

__  ____  __  _____   ___  __ ____  ______ --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ ,< / /_/ /\ \  --\___\_\____/_/ |_/_/|_/_/|_|\____/___/  INFO  [io.quarkus] (main) quarkus-serverless-native 1.0.0-SNAPSHOT native(powered by Quarkus xx.xx.xx.) Started in 0.019s. Listening on: http://0.0.0.0:8080INFO [io.quarkus] (main) Profile prod activated.INFO [io.quarkus] (main) Installed features: [cdi, kubernetes, resteasy]

簡直是超音速!啟動只花了 19 毫秒。你的運行時間可能稍有不同。

使用 Linux 的 ??ps?? 工具檢測一下,結果內存占用還是很低。檢測的方法是:在應用程序運行期間,另外打開一個終端,運行如下命令:

$ ps -o pid,rss,command -p $(pgrep -f runner)

輸出結果類似于:

PID    RSS COMMAND10246  11360 target/quarkus-serverless-native-1.0.0-SNAPSHOT-runner

該進程只占 11MB 內存。非常小!

注意: 各種應用程序(包括 Quarkus)的駐留集大小和內存占用,都因運行環境而異,并隨著應用程序載入而上升。

你也可以使用 REST API 訪問這個函數。輸出結果應該是 ??Hello RESTEasy??:

$ curl localhost:8080/helloHello RESTEasy

3、把函數部署到 Knative 服務

如果你還沒有創建命名空間,現在就在 ??OKD???(OpenShift Kubernetes 發行版)??創建一個命名空間???(例如 ??quarkus-serverless-native???),進而把這個本地可執行文件部署為無服務器函數。然后添加 ??quarkus-openshift?? 擴展:

$ ./mvnw -q quarkus:add-extension -Dextensions="openshift"

向 ??src/main/resources/application.properties?? 文件中添加以下內容,配置 Knative 和 Kubernetes 的相關資源:

quarkus.container-image.group=quarkus-serverless-nativequarkus.container-image.registry=image-registry.openshift-image-registry.svc:5000quarkus.native.container-build=truequarkus.kubernetes-client.trust-certs=truequarkus.kubernetes.deployment-target=knativequarkus.kubernetes.deploy=truequarkus.openshift.build-strategy=docker

構建本地可執行文件,并把它直接部署到 OKD 集群:

$ ./mvnw clean package -Pnative

注意: 提前使用 ??oc login??? 命令,確保登錄的是正確的項目(例如 ??quarkus-serverless-native??)。

輸出信息結尾應當是 ??BUILD SUCCESS???。完成一個本地二進制文件的構建并部署為 Knative 服務需要花費幾分鐘。成功創建服務后,使用 ??kubectl??? 或 ??oc?? 命令工具,可以查看 Knative 服務和版本信息:

$ kubectl get ksvcNAME                        URL   [...]quarkus-serverless-native   http://quarkus-serverless-native-[...].SUBDOMAIN  True$ kubectl get revNAME                              CONFIG NAME                 K8S SERVICE NAME                  GENERATION   READY   REASONquarkus-serverless-native-00001   quarkus-serverless-native   quarkus-serverless-native-00001   1            True

4、訪問本地可執行函數

運行 ??kubectl?? 命令,搜索無服務器函數的節點:

$ kubectl get rt/quarkus-serverless-native

輸出信息類似于:

NAME                         URL                                                                                                          READY   REASONquarkus-serverless-native   http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN   True

用 ??curl??? 命令訪問上述信息中的 ??URL?? 字段:

$ curl http://quarkus-serverless-restapi-quarkus-serverless-native.SUBDOMAIN/hello

過了不超過一秒鐘,你也會得到跟本地操作一樣的結果:

Hello RESTEasy

當你在 OKD 群集中訪問 Quarkus 運行中的節點的日志,你會發現本地可執行文件正在以 Knative 服務的形式運行。

Native Quarkus Log

下一步呢?

你可以借助 GraalVM 發行版優化 Java 無服務器函數,從而在 Knative 中使用 Kubernetes 將它們部署為無服務器函數。Quarkus 支持在普通的微服務中使用簡易配置進行性能優化。

本系列的下一篇文章將指導你在不更改代碼的情況下跨多個無服務器平臺實現可移植函數。

(Daniel Oh, ??CC BY-SA 4.0??)

責任編輯:龐桂玉 來源: Linux中國
相關推薦

2022-10-10 09:01:21

JavaQuarkus

2019-10-14 16:34:53

收藏Docker虛擬機

2017-10-17 10:12:58

2018-02-24 10:15:36

無服務器容器云計算

2019-04-30 10:27:46

無服務器云計算安全

2018-10-10 19:39:37

云計算云服務Kubernetes

2020-01-18 09:44:35

無服務器Kubernetes云服務

2020-01-16 10:47:36

服務器Kubernetes微服務

2019-04-01 13:47:57

無服務器計算云服務

2021-05-27 10:12:11

Java無服務器化開發

2022-03-18 20:54:24

無服務器計算無服務器服務器

2019-04-26 10:57:26

無服務器應用程序HTTP

2022-01-05 09:28:31

無服務器計算服務器應用程序

2024-06-03 08:37:26

2017-11-27 10:45:48

無服務器計算容器

2019-03-08 10:26:29

無服務器云計算德勤

2024-11-15 09:00:00

云計算云平臺

2011-03-11 15:52:59

LAMP優化

2017-09-08 11:22:04

容器云函數無服務器

2019-04-19 08:09:55

無服務器云服務函數
點贊
收藏

51CTO技術棧公眾號

日日噜噜噜夜夜爽爽| 国产精品成人一区| 日本国产在线视频| 韩日精品一区二区| 国产精品一区二区av交换| 中文字幕乱码久久午夜不卡 | 日韩免费一级片| 成人av集中营| 一区二区三区欧美日| 国产免费一区二区三区| 这里只有精品999| 亚洲a级精品| 欧美理论片在线| 成人在线免费在线观看| 国产激情视频在线| 91偷拍与自偷拍精品| 成人免费自拍视频| 久久精品视频2| 精品1区2区3区4区| 宅男在线国产精品| 国产男女在线观看| 成人短视频在线| 国产亚洲婷婷免费| 国产精品一 二 三| 国产午夜视频在线播放| 成人春色在线观看免费网站| 精品视频免费看| 国产极品在线视频| 香蕉视频免费看| 久久机这里只有精品| 欧美中文字幕视频| 男女免费视频网站| 国产精品欧美大片| 在线综合亚洲欧美在线视频| 国产精品乱码久久久久| 国产免费拔擦拔擦8x高清在线人| 国产精选一区二区三区| 国产成人精品免费久久久久| 国语对白一区二区| 国产精品vip| 久久97久久97精品免视看| 懂色av粉嫩av蜜臀av一区二区三区| 亚洲视频分类| 精品伊人久久97| 你懂得在线视频| 久久亚洲道色| 亚洲国产精品va在线| 国产美女网站在线观看| 国内高清免费在线视频| 综合色中文字幕| 中文字幕在线中文字幕日亚韩一区| 国产精品一区二区三区四区色| 久久欧美一区二区| 久久婷婷国产综合尤物精品| 香蕉国产在线视频| 91视频观看视频| 欧美久久在线| 国产在线一在线二| 国产精品福利av | 午夜日韩视频| 欧美情侣性视频| 久操免费在线视频| 一区久久精品| 69影院欧美专区视频| 国产成人愉拍精品久久| 美女爽到呻吟久久久久| 国产精品视频一| 国产免费不卡视频| 懂色av一区二区三区免费观看| 国产精品青青草| 神马一区二区三区| 久久综合久久鬼色中文字| 婷婷四月色综合| 免费黄色电影在线观看| 亚洲卡通欧美制服中文| 欧美视频免费看欧美视频| 少妇在线看www| 欧美性视频一区二区三区| 亚洲小视频网站| 国产成人精品福利| 亚洲品质视频自拍网| 天天舔天天操天天干| 91精品成人| 97在线免费观看视频| 黄色一级视频免费看| 黄页视频在线91| 精品日本一区二区| 免费高清在线观看| 亚洲18女电影在线观看| 男人插女人下面免费视频| 成人日韩视频| 亚洲视频777| 亚洲国产美女视频| 首页综合国产亚洲丝袜| 成人久久精品视频| 偷拍自拍在线| 国产麻豆精品久久一二三| 国产二区一区| 都市激情一区| 亚洲成人自拍网| 久热精品在线播放| 精品久久对白| 久久精品这里热有精品| av网站中文字幕| 国产精品91xxx| 成人美女免费网站视频| 午夜影院免费体验区| 国产精品久久久久一区| 黄色免费福利视频| 国产精品久久久久久久久久辛辛| 日韩av在线一区二区| 香蕉视频污视频| 久久视频在线| 欧洲永久精品大片ww免费漫画| av网站在线免费看| 国产精品网站在线播放| 国产免费黄视频| jizz久久精品永久免费| 乱亲女秽乱长久久久| 欧美国产一级片| 92精品国产成人观看免费| www.一区二区.com| 亚洲国产天堂| 中文字幕亚洲一区二区三区| 中文字幕超碰在线| 成人成人成人在线视频| 国内一区在线| av免费在线观看网址| 欧美日韩一区二区三区不卡| 男人舔女人下部高潮全视频| 青青草国产成人a∨下载安卓| 中文字幕欧美国内| 中文字幕激情小说| 成人高清视频免费观看| 精品视频在线观看一区二区| 国产成人久久精品一区二区三区| 中文字幕精品在线| 波多野结衣视频免费观看| 91日韩一区二区三区| 男的插女的下面视频| 亚洲视频精选| 久久久伊人日本| 亚洲国产999| 亚洲一区二区三区四区五区黄| 日本77777| 亚洲成人精品| 99九九视频| 免费观看成年在线视频网站| 欧美日韩激情网| 在线观看av中文字幕| 夜夜精品视频| 欧美精品亚洲精品| 欧美成人资源| 中文字幕在线看视频国产欧美在线看完整| 色老头在线视频| 国产精品久线在线观看| av免费一区二区| 欧美99在线视频观看| 亚洲专区中文字幕| av中文在线资源库| 日韩精品免费在线视频观看| 亚洲成人av网址| 国产精品久久综合| 国产黄色一区二区三区| 亚洲国产日本| 欧美一区1区三区3区公司| www红色一片_亚洲成a人片在线观看_| 7777女厕盗摄久久久| 欧美日韩精品亚洲精品| 99精品热视频| 冲田杏梨av在线| 国产精品久久久久久| 爱情岛论坛亚洲入口| 亚洲优女在线| 最近中文字幕mv在线一区二区三区四区 | 亚洲欧美色视频| 在线免费亚洲电影| 欧美成人手机视频| wwwwxxxxx欧美| 天堂av在线8| 伊人久久综合| 日韩国产精品一区二区三区| 国产在线视频欧美一区| 91av视频在线播放| 日本视频在线免费观看| 欧美精品一区二区三区蜜桃视频| 成人欧美一区二区三区黑人一| 国产一区二区三区不卡在线观看| 成人免费视频91| 成人在线免费视频观看| 99re在线观看视频| 不卡的av影片| 亚洲欧美精品一区| 99草在线视频| 91久久精品国产91性色tv| 青青草偷拍视频| 国产情人综合久久777777| zjzjzjzjzj亚洲女人| 秋霞电影网一区二区| 91免费黄视频| 91精品啪在线观看国产81旧版| 精品乱子伦一区二区三区| 亚洲国产91视频| 国产精品91久久久| 91福利在线免费| 大量国产精品视频| 激情在线视频| 亚洲成人精品视频在线观看| 国产精品久久久久久免费| 日韩欧美主播在线| 国产精品19乱码一区二区三区| 中文字幕一区不卡| 成人免费无遮挡无码黄漫视频| 粉嫩欧美一区二区三区高清影视| 成年人网站国产| 999国产精品999久久久久久| 欧美一区少妇| 窝窝社区一区二区| 日韩免费观看在线观看| 欧美wwww| www.欧美三级电影.com| 麻豆影视在线| 亚洲美女激情视频| 色哟哟中文字幕| 欧美成人video| 国产乱码精品一区二区三区精东| 在线观看不卡一区| 永久免费无码av网站在线观看| 久久久精品一品道一区| 中国黄色片视频| 国产成人av网站| 熟妇无码乱子成人精品| 精品一区二区三区在线视频| 久久久精品麻豆| 欧美aaa在线| 亚洲精品久久久中文字幕| 三级影片在线观看欧美日韩一区二区| 免费在线观看视频a| 激情综合视频| 欧美成人高潮一二区在线看| 欧美日韩视频| 青青在线视频免费观看| 欧美三级午夜理伦三级中文幕| 国产精品一区在线免费观看| 天天天综合网| 日韩中文字幕亚洲精品欧美| 亚洲一区二区日韩| 欧美久久久久久久久久久久久久| 国产一区欧美| 国产精品久久中文字幕| 在线一区视频| av视屏在线播放| 蜜臀av在线播放一区二区三区 | 日本欧美韩国| 国产精品96久久久久久| 国产极品一区| 91麻豆国产精品| 中文在线综合| 久久草视频在线看| 欧洲乱码伦视频免费| 一区二区三区国| 欧美三级特黄| 777米奇影视第四色| 毛片一区二区三区| 亚洲国产综合av| 成人激情免费网站| 免费观看av网站| 国产精品嫩草99a| 九九九免费视频| 精品久久久在线观看| 中文字幕av网站| 日韩午夜在线影院| 五月天激情婷婷| 最新国产成人av网站网址麻豆| 五月花成人网| 国产成人一区三区| 国产精品成人3p一区二区三区| 久久99精品久久久久久青青日本 | 欧美日韩不卡合集视频| а√天堂资源官网在线资源| 国产精品久久久久福利| 国内精品视频| 久久久久久国产精品免费免费| 第一会所亚洲原创| 日韩网站在线免费观看| 美女网站一区二区| 69xxx免费视频| 久久久国产综合精品女国产盗摄| 国产免费美女视频| 精品女同一区二区三区在线播放| 伊人久久成人网| 亚洲韩国日本中文字幕| 国产一二区在线| 日本精品视频在线观看| 老司机亚洲精品一区二区| 日本视频精品一区| 精品成人国产| 亚洲一区二区三区观看| 久久久久久一二三区| 欧美精品xxxxx| 欧美日韩综合在线| 无码国精品一区二区免费蜜桃| 久久在线精品视频| 99精品国自产在线| 久久99精品久久久久久秒播放器| 欧美fxxxxxx另类| 成年人在线观看视频免费| 成人免费黄色大片| 国产av 一区二区三区| 91福利社在线观看| 亚州视频一区二区三区| 欧美激情日韩图片| 亚洲欧洲二区| 视频一区国产精品| 男人的天堂成人在线| 国产成人av片| 亚洲卡通欧美制服中文| 亚洲一卡二卡在线| 中文字幕9999| 欧洲精品一区二区三区| 免费观看成人在线| 亚洲久久成人| 性农村xxxxx小树林| 亚洲自拍偷拍综合| 国产精品嫩草影院精东| 中文字幕亚洲综合| 欧美国产日韩电影| 奇米视频888战线精品播放| 国产精品久久国产愉拍| 女性生殖扒开酷刑vk| 一区二区三区**美女毛片| 国产精品一区二区黑人巨大| 最新的欧美黄色| 日韩午夜电影免费看| 亚洲一区3d动漫同人无遮挡 | 日本视频精品一区| 三级在线观看一区二区| 亚洲a v网站| 欧美最猛性xxxxx直播| porn视频在线观看| 国产精品热视频| 999久久久91| 日韩a一级欧美一级| 亚洲精品欧美专区| 精品国产无码一区二区三区| 欧美人与性动交| japanese色系久久精品| 高清欧美精品xxxxx| 91在线云播放| 天堂免费在线视频| www.日韩av.com| 91精品亚洲一区在线观看| 免费国产成人看片在线| 国产成人免费网站| 日本少妇做爰全过程毛片| 亚洲精品一区二区久| 亚洲成a人片| 在线精品亚洲一区二区| 国产伦精一区二区三区| 国产精品suv一区二区69| 日韩精品中文字幕有码专区| 亚洲国产尤物| 天天综合五月天| 成人精品视频一区| 一级成人黄色片| 播播国产欧美激情| 国内露脸中年夫妇交换精品| 国内外成人免费激情视频| 国产精品色一区二区三区| 国产99久一区二区三区a片| 午夜精品一区二区三区在线视| 国产成人精品免费视| 欧美视频亚洲图片| 午夜久久久久久久久久一区二区| 日夜干在线视频| 成人一区二区电影| 国产精品毛片| 91 在线视频| 亚洲精品99久久久久中文字幕| 日韩在线免费| 精品免费久久久久久久| 91蜜桃在线免费视频| 国产精品无码在线播放| 91av在线不卡| 91精品亚洲| 免费在线观看污| 日韩片之四级片| av成人在线观看| 日韩欧美国产综合在线| 国产精品国产自产拍高清av| 丰满少妇一级片| 国产精品狼人色视频一区| 韩国在线一区| 欧美xxxooo| 亚洲天堂第二页| 韩国精品福利一区二区三区| 亚洲一区精品视频在线观看| 欧美日韩亚洲网| 中文在线观看免费| 亚洲精品国产精品久久|