精品欧美一区二区三区在线观看 _久久久久国色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蜜臀av| 日韩精品电影一区亚洲| 九九久久国产精品| 中文字幕一区二区三区人妻电影| 日日夜夜亚洲| 精品欧美aⅴ在线网站| 在线免费观看一区二区三区| 天天干,天天操,天天射| 精品在线观看免费| 秋霞成人午夜鲁丝一区二区三区| 久久久久亚洲av片无码| 婷婷综合福利| 欧美本精品男人aⅴ天堂| 日韩欧美xxxx| 多野结衣av一区| 亚洲欧美日韩久久精品| 欧美在线播放一区| 熟妇人妻系列aⅴ无码专区友真希| 久久99精品一区二区三区三区| 97碰碰碰免费色视频| 永久久久久久久| 成人激情视频| 亚洲欧美日韩精品| bl动漫在线观看| 亚洲高清在线一区| 欧美日本一区二区三区四区| 日韩av在线综合| av资源在线播放| 一区二区三区欧美亚洲| 亚洲一区二区三区精品在线观看| 青青青草网站免费视频在线观看| 成人在线视频一区| 3d动漫精品啪啪一区二区三区免费 | 久久九九免费视频| 日韩乱码人妻无码中文字幕久久| 欧洲亚洲视频| 亚洲精品av在线| 天天躁日日躁狠狠躁av| 日本免费一区二区三区视频| 制服丝袜在线91| 91国产精品视频在线观看| 黑人精品一区| 色婷婷亚洲婷婷| 欧美黄网站在线观看| 三级中文字幕在线观看| 精品magnet| 日本少妇高潮喷水视频| 爱福利在线视频| 亚洲国产精品久久人人爱| 大片在线观看网站免费收看| 国产精品实拍| 樱桃视频在线观看一区| 日本a在线天堂| 爱情岛论坛亚洲品质自拍视频网站| 亚洲二区在线观看| 国产精品无码人妻一区二区在线| 高清毛片在线观看| 色综合天天性综合| 亚洲污视频在线观看| 看片一区二区| 欧美一区二区视频在线观看2022| 91在线第一页| jizz国产精品| 亚洲精品中文字幕女同| 永久免费毛片在线观看| 99精品在线观看| 色综合久久精品亚洲国产 | 成黄免费在线| 一区在线播放视频| 97在线免费视频观看| 91资源在线观看| 91国产福利在线| 亚洲天堂网2018| 亚洲精品午夜| 亚洲欧美第一页| 婷婷综合在线视频| 在线中文字幕第一区| 久久久久日韩精品久久久男男| 午夜影院在线看| 美女爽到高潮91| 亚洲一区久久久| 亚洲色图欧美视频| 国产精品嫩草影院av蜜臀| 青青草综合在线| 美脚恋feet久草欧美| 欧美日本视频在线| 亚洲乱妇老熟女爽到高潮的片| 免费福利视频一区| 色婷婷成人综合| 九九热国产视频| 蜜臀久久99精品久久久久宅男| 91超碰在线免费观看| 精品欧美不卡一区二区在线观看 | 成人一区二区视频| 色噜噜狠狠一区二区三区| 在线观看的网站你懂的| 日本道精品一区二区三区| 一卡二卡三卡四卡五卡| 猛男gaygay欧美视频| 九色精品美女在线| 丁香社区五月天| 丁香啪啪综合成人亚洲小说| 天天爽天天狠久久久| 第四色日韩影片| 7777精品伊人久久久大香线蕉的| 日韩一级视频在线观看| 中文无码久久精品| 国产精品久久久91| 天天插天天干天天操| 伊人色综合久久天天| 邪恶网站在线观看| 香蕉久久夜色精品国产更新时间| 欧美美最猛性xxxxxx| 亚洲一区二区三区高清视频| 91亚洲精品久久久蜜桃| 久久福利一区二区| 国产成人精选| 国产亚洲视频在线观看| 日韩精品1区2区| 懂色av中文一区二区三区| 一区二区在线观看网站| 日韩电影网站| 国产视频自拍一区| 日韩激情在线播放| 国产激情一区二区三区桃花岛亚洲| 亚洲国产精品毛片| 男人皇宫亚洲男人2020| 日韩大陆毛片av| 奇米影视第四色777| 国产白丝网站精品污在线入口| 在线免费观看成人| 四虎国产精品永久在线国在线| 一区二区在线视频| 中文字幕 国产精品| 久久精品视频免费观看| 欧美污视频网站| 丝袜久久网站| 情事1991在线| 九一国产在线| 在线观看欧美精品| 亚洲自拍偷拍图| 日本少妇一区二区| 亚洲一区美女| 亚洲日本中文| 欧美成人网在线| www.日韩高清| 午夜久久电影网| 中文字幕av观看| 视频一区欧美精品| 亚洲精品高清视频| 粉嫩av国产一区二区三区| 久热精品视频在线| 午夜精品久久久久久久91蜜桃| 一区二区三区久久久| 无码国产精品一区二区免费式直播| 国产一区激情| 麻豆传媒一区二区| 日本成人福利| 久久中文精品视频| 男人天堂手机在线观看| 欧美日韩一区二区三区在线免费观看| 久久人人爽人人爽人人片| 视频一区在线视频| 亚洲第一精品区| 在线一区二区三区视频| 538国产精品一区二区免费视频| 日本啊v在线| 欧美高清一级片在线| 欧美激情图片小说| av亚洲产国偷v产偷v自拍| 免费大片在线观看| 国产国产精品| 国产二区一区| 成人涩涩视频| 国产69精品久久久久9999| 伦理片一区二区三区| 欧美精品在线视频| 色播视频在线播放| 国产精品国产精品国产专区不片| 日本黄色三级网站| 欧美一级播放| 亚洲资源在线网| 国产精品久av福利在线观看| 国产精品麻豆va在线播放| 好了av在线| 亚洲乱码一区二区| 国产绳艺sm调教室论坛| 欧美日韩裸体免费视频| 日韩在线不卡av| www久久精品| 欧美专区第二页| 肉肉av福利一精品导航| 亚洲中文字幕无码一区二区三区| 精品福利久久久| 国产精品久久久久久久久久直播| 成人涩涩视频| 91sao在线观看国产| caopo在线| 伊人激情综合网| 少妇高潮一区二区三区99小说| 欧美浪妇xxxx高跟鞋交| 国产又大又黄又粗| 一区二区在线免费观看| 网爆门在线观看| 2023国产一二三区日本精品2022| 初高中福利视频网站| 日日噜噜夜夜狠狠视频欧美人 | 久草精品在线观看| 国产综合av在线| 欧美黄色免费| 正在播放国产精品| 欧洲激情视频| 欧美一区免费视频| 五月国产精品| 国产私拍一区| av日韩精品| 999国产在线| 国产日本亚洲| 国产日韩中文字幕在线| 色成人免费网站| 欧洲亚洲免费视频| av成人 com a| 久久久最新网址| 好久没做在线观看| 九九精品在线视频| 午夜成年人在线免费视频| 久久综合五月天| 欧美13一16娇小xxxx| 日韩小视频在线| 欧美69xxx| 美日韩在线视频| 国产高清一区二区三区视频| 久久精品精品电影网| 日韩欧美小视频| 色av中文字幕一区| 老司机福利在线视频| 久久精品国产一区| 18视频在线观看网站| 欧美精品在线播放| 国产探花视频在线观看| 久久久久久久久久亚洲| 波多野结衣乳巨码无在线观看| 高清一区二区三区四区五区| 91九色porn在线资源| 欧美在线观看视频| 三上悠亚亚洲一区| 国产精品va在线播放我和闺蜜| 456成人影院在线观看| 国产精品久久久久久av福利| 国产美女久久| 亚洲free性xxxx护士hd| 欧美视频三区| 狠狠综合久久av| 免费观看久久av| 亚洲午夜精品一区二区三区| 先锋资源久久| 成人av在线播放观看| 精品91久久久久| 国产日产欧美视频| 日本色综合中文字幕| 日本精品一区在线| 成人免费视频caoporn| 风间由美一二三区av片| 国产精品嫩草影院com| 在线免费日韩av| 精品国产乱码久久久久酒店| 波多野结衣视频在线观看| 91精品国产欧美一区二区| 韩国av电影在线观看| 国产亚洲精品成人av久久ww| 菠萝菠萝蜜在线观看| 国产69精品久久久久久| 国产成人77亚洲精品www| 俄罗斯精品一区二区| 国产欧美日韩精品一区二区三区| 一区一区视频| 中文亚洲字幕| 在线播放免费视频| 99久久精品免费看国产免费软件| 天天干天天操天天拍| 亚洲小说欧美激情另类| 中文字幕一区二区人妻视频| 91精品国产免费久久综合| 亚洲三区在线播放| 美女精品久久久| 性欧美gay| 国产精品福利视频| 色综合咪咪久久网| 成熟了的熟妇毛茸茸| 国内精品伊人久久久久av影院| 国产中文字幕一区二区| 亚洲欧美一区二区三区极速播放| 九九热精品视频在线| 日韩午夜电影在线观看| 国产毛片在线看| 午夜精品久久久久久久久久久久久| 色综合久久久| 欧美精彩一区二区三区| 国产精品xvideos88| 日本国产一级片| 久久久美女艺术照精彩视频福利播放| 久草网站在线观看| 欧美色网站导航| 深夜福利视频在线免费观看| 久久艳片www.17c.com| а√天堂资源国产精品| 欧美日韩精品久久| 亚洲国产清纯| 亚洲国产综合av| 国产精品福利一区二区三区| 五月婷婷激情视频| 日韩av影视在线| 麻豆av在线播放| 99热最新在线| 久久久久国产| 久久精品国产露脸对白| 中国色在线观看另类| 中文字幕手机在线视频| 日韩精品在线免费播放| 黄视频免费在线看| 国产精品免费区二区三区观看 | 日本天堂一区| 成人一区二区免费视频| 国产成人av一区二区| 永久看片925tv| 91精品在线麻豆| 免费黄网站在线| 成人在线精品视频| 天天做天天爱天天爽综合网| 57pao国产成永久免费视频| 国产精品视频你懂的| 18国产免费视频| 在线精品高清中文字幕| 日本中文字幕一区二区| 色999五月色| 美国毛片一区二区三区| 黑人と日本人の交わりビデオ| 欧美在线观看禁18| 天堂中文а√在线| 国产在线拍揄自揄视频不卡99| 日本久久综合| 涩涩网站在线看| 一区二区三区免费网站| 国产免费视频一区二区三区| 欧美成人性生活| 国产精品极品在线观看| 18禁免费无码无遮挡不卡网站 | 日韩国产第一页| 欧美高清性hdvideosex| 丝袜美女在线观看| 国产精品.com| 亚洲视频成人| 先锋影音av在线| 在线播放一区二区三区| 污污影院在线观看| 国产日韩在线一区二区三区| 另类国产ts人妖高潮视频| 欧美大波大乳巨大乳| 欧美喷潮久久久xxxxx| 调教一区二区| 欧美精品久久久| 蜜桃在线一区二区三区| 日本青青草视频| 日韩www在线| 国产亚洲欧美日韩精品一区二区三区| 国产奶头好大揉着好爽视频| 成人av免费在线观看| 日韩在线视频不卡| 精品国产一区二区三区在线观看 | 欧美成人三级视频| 亚洲精品国产美女| 78精品国产综合久久香蕉| 成人免费看片视频在线观看| av网站一区二区三区| 欧美成人精品网站| 欧美老肥婆性猛交视频| 亚洲国产最新| 小早川怜子一区二区三区| 偷拍一区二区三区| 亚洲精品承认| 久久国产精品精品国产色婷婷| 美女诱惑一区二区| 日韩手机在线观看| 俺去啦;欧美日韩| 色婷婷狠狠五月综合天色拍| 最新av免费在线观看| 欧美日韩午夜视频在线观看| 国产黄色在线免费观看|