如何在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
- 線上服務Java程序假死快速排查、分析Java
- 如何在 SAP BTP 平臺上啟用 HANA Cloud 服務Cloud
- 使用 k8s 快速部署應用服務K8S
- 有狀態軟體如何在 k8s 上快速擴容甚至自動擴容K8S
- 記錄一次docker快速啟動elasticsearch單機服務DockerElasticsearch
- 如何在 Kali Linux 上安裝 SSH 服務Linux
- gitblit 服務啟動不了Git
- linux 下啟動服務Linux
- python 啟動http服務PythonHTTP
- 如何在SAP雲平臺上使用MongoDB服務MongoDB
- 如何在 Ubuntu LTS 系統上啟用 Canonical 的核心實時補丁服務Ubuntu
- 在Ubuntu上開啟SSH服務Ubuntu
- 在Spring Boot應用啟動時如何執行程式碼? -DukesletterSpring Boot行程
- Linux使用Ambari啟動服務啟動失敗Linux
- Java是否需要內聯型別? -DukesletterJava型別
- Kali Linux常用服務配置教程啟動DHCP服務Linux
- 服務啟動一個程式
- dubbo服務啟動的方式
- DUBBO服務啟動過程
- 啟動與關閉服務
- 控制linux啟動的服務Linux
- mongodb服務在哪裡啟動?MongoDB
- 怎麼啟動postgresql服務SQL
- windows下啟動nacos服務Windows
- java JAX-RS快速開發RESTful服務JavaREST
- centos 自動啟動指令碼和自啟動服務CentOS指令碼
- 如何在 CentOS、RHEL 和 Fedora 上安裝 DHCP 服務CentOS
- 如何在滴滴雲 DC2 上搭建 MySQL 服務MySql
- Debian上啟用Apache2服務Apache
- node.js啟動http服務Node.jsHTTP
- sqlserver服務啟動失敗-1067SQLServer
- Window下啟動/停止Zookeeper服務
- Ubuntu Server 24.04 自啟動服務UbuntuServer
- Nuxt動態ip啟動開發服務UX
- excel在win10上怎樣快速啟動_excel在win10上設定快速啟動的方法ExcelWin10
- Systemd 服務:比啟動停止服務更進一步
- k8s Service 服務K8S