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

posted on   --LP--  阅读(1441)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 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】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示