如何在K8S上快速啟動Java服務 - Dukesletter
在Kubernetes中部署應用程式時,您必須遵循一些良好做法才能成為好公民。
您必須配置所需的資源,但更重要的是:向Kubernetes發出訊號,表明您的應用程式仍在執行並且已經可以接收請求。
為了解釋這些概念以及與自動縮放和限制有關的更多資訊,Igor Domrev撰寫了一篇文章:“ 如何在K8S上快速啟動Java服務 ”。
- 在k8s和微服務時代,快速啟動很重要,尤其是在叢集執行於競價型例項上的情況下,而且如果您希望輕鬆地橫向擴充套件,在資料庫故障轉移甚至您自己的服務記憶體後重新啟動,則非常重要。
- 像Netty這樣的庫,它使用可用處理器的數量來決定多事件迴圈的大小,或者是HikaeriCP一個流行的jdbc連線池,它使用處理器數來確定連線池的大小。所有這些工具和JVM本身都進行了最佳化,以調整執行緒與處理器的最佳比例,以便最佳利用CPU並減少執行緒上下文切換。
- JVM使用可用核的數量來確定GC執行緒和編譯器執行緒(jit執行緒)的數量,所有這些執行緒都在爭奪CPU。
- 當他們共享200個k8s微核時會發生什麼呢?從本質上講,Docker的CPU分配機制將限制請求更多CPU資源的容器,這將導致執行緒阻塞和執行緩慢。
- 增加Java服務CPU的限制雖然使其啟動更快,但會導致CPU超負荷使用,需要仔細管理。
如果要部署到容器,請記住使用新的+XX:MaxRAMPercentage配置引數正確配置分配給JVM的記憶體,使其與容器中的可用記憶體成比例。您可以在本文中閱讀有關它的更多資訊:“ 容器中的JVM ”。
相關文章
- 如何在Linux中啟動時新增服務Linux
- 如何在 SAP BTP 平臺上啟用 HANA Cloud 服務Cloud
- 如何在Web伺服器80埠上開啟SSH服務Web伺服器
- 如何在蘋果電腦上快速設定預設啟動磁碟?蘋果
- 使用 k8s 快速部署應用服務K8S
- oracle手動啟動服務Oracle
- 如何在linux下開啟FTP服務LinuxFTP
- 有狀態軟體如何在 k8s 上快速擴容甚至自動擴容K8S
- gitblit 服務啟動不了Git
- 在Ubuntu上開啟SSH服務Ubuntu
- 如何在 Kali Linux 上安裝 SSH 服務Linux
- 如何在SAP雲平臺上使用MongoDB服務MongoDB
- 線上服務Java程序假死快速排查、分析Java
- linux 下啟動服務Linux
- 服務啟動一個程式
- 怎麼啟動postgresql服務SQL
- mongodb服務在哪裡啟動?MongoDB
- windows下啟動nacos服務Windows
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- (Mac 上的日子) sshd 服務啟用Mac
- 如何在滴滴雲 DC2 上搭建 MySQL 服務MySql
- 如何在 CentOS、RHEL 和 Fedora 上安裝 DHCP 服務CentOS
- 如何在 Linux 上配置持續整合服務 – DroneLinux
- 如何在 Ubuntu LTS 系統上啟用 Canonical 的核心實時補丁服務Ubuntu
- Linux使用Ambari啟動服務啟動失敗Linux
- Kali Linux常用服務配置教程啟動DHCP服務Linux
- Ubuntu 下啟動/停止/重啟mysql服務UbuntuMySql
- java JAX-RS快速開發RESTful服務JavaREST
- 快速開啟服務或者IIS或者遠端桌面
- Java是否需要內聯型別? -DukesletterJava型別
- 控制linux啟動的服務Linux
- Android 啟動和停止服務Android
- node.js啟動http服務Node.jsHTTP
- Ubuntu Server 24.04 自啟動服務UbuntuServer
- k8s Service 服務K8S
- Nuxt動態ip啟動開發服務UX
- 【MySql】開機自動啟動mysql服務MySql
- windows下啟動服務時不啟動oracle例項WindowsOracle