vertx 命令行集群启动
window 测试 总结
去官网下载 vert.x-3.5.0-full.zip http://vertx.io/
解压出来的 lib问价夹里得有 vertx-hazelcast-3.5.0.jar(没有自己下个放入)
将 bin文件夹放入 path环境变量
写2个简单 verticle 如
接受请求的 和 业务处理的
1 import io.vertx.core.AbstractVerticle; 2 import io.vertx.core.http.HttpMethod; 3 import io.vertx.core.http.HttpServer; 4 5 public class AuthVerticle extends AbstractVerticle { 6 7 @Override 8 public void start() throws Exception { 9 super.start(); 10 HttpServer server = vertx.createHttpServer(); 11 server.requestHandler(req -> { 12 if (req.method() == HttpMethod.GET) { 13 req.response().setChunked(true); 14 if (req.path().equals("/hello")) { 15 vertx.eventBus().<String>send(GoNextVerticle.XWHB_AUTH_GO, "之后用于传输的数据", result -> { 16 if (result.succeeded()) { 17 req.response().setStatusCode(200).write(result.result().body()).end(); 18 } else { 19 req.response().setStatusCode(500).write(result.cause().toString()).end(); 20 } 21 }); 22 } else { 23 req.response().setStatusCode(405).end(); 24 } 25 } else { 26 req.response().setStatusCode(405).end(); 27 } 28 }); 29 server.listen(9090); 30 } 31 }
public class GoNextVerticle extends AbstractVerticle { public static final String XWHB_AUTH_GO = "go"; private Handler<Message<String>> DoSomeThingHandler() { return msg -> { msg.reply("hello"); }; } @Override public void start() throws Exception { super.start(); vertx.eventBus().<String>consumer(XWHB_AUTH_GO).handler(DoSomeThingHandler()); } }
打个fat包 别用有带这个的 如
<!-- the main verticle class name -->
<main.class>com.xwhb.auth.Runner</main.class>
pom文件里也别带
<dependency>
<groupId>io.vertx</groupId>
<artifactId>vertx-hazelcast</artifactId>
<version>xxx</version>
</dependency>
以下发布集群方式貌似是广播方式 只能在同网段
发布这个到集群 这个AuthVeticle就只发布一个(没有设置 --instances 着默认一个)
vertx run com.xwhb.httpdemonet.verticles.AuthVerticle
-cp xwhb-httpdemonet-1.0-SNAPSHOT-fat.jar
在集群中暴露的端口
--cluster --cluster-host 192.168.1.6 --cluster-port 9091
本机ip,别用localhost
再找同网段的另一台机器(假如是4核)发布GoNextVerticle 发布4个 (利用好4个核)
vertx run com.xwhb.httpdemonet.verticles.GoNextVerticle -cp xwhb-httpdemonet-1.0-SNAPSHOT-fat.jar --cluster --cluster-host 192.168.1.15 --cluster-port 9092 --instances 4
浏览器访问 http://127.0.0.1:9090/hello
内容暂时这样 之后再改 可能有错误 开放评论
顺便放个demo 链接:https://pan.baidu.com/s/1pKGwSCN 密码:sutj
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】