需求: 百萬併發鏈接,高可用java
技術選型: centos7,jdk8,vertx3.7.0,mysql8mysql
測試時間:2019年5月20日再次測試成功nginx
成功實現來了百萬併發鏈接訪問的架構。sql
因爲業務保密制度限制,只能說一下大概思路(若是有商業高併發的研發需求,可掃描文末二維碼加做者微信):centos
vertx 使得基於Java作高併發變得更加容易。 vertx Cluster 支持多臺機器的集羣。 即便不採用集羣,不用nginx,zk,當使用多核高配的單個服務器時,vertx也能實現百萬級別的高併發訪問。假設你購買了一個16Core64G內存的雲主機,你的業務類是MyDemoVerticle,那麼爲了充分利用每個CPU,你能夠這樣部署:服務器
DeploymentOptions options = new DeploymentOptions().setInstances(16); vertx.deployVerticle("com.mycompany.MyVerticle", options);
這樣系統會爲每一個實例分配一個eventLoop.微信
Vertx自動支持高可用機制,若是你但願當服務死掉後能自動重啓是,能夠在部署命令中加上 -ha指令架構
vertx run my-verticle.js -ha
-ha 意味着你的vertx自動運行在cluster模式下。若是須要配置集羣細節,能夠參考 https://blog.csdn.net/ifrozen/article/details/79895413併發