本文旨在开发一个用编码方式启动Vert.x集群demo。编码方式启动Vert.x集群可以在eclipse中启动调试程序。
代码如下。
package com.wof.realtime.apigateway; import com.hazelcast.config.Config; import com.hazelcast.config.JoinConfig; import io.vertx.core.Vertx; import io.vertx.core.VertxOptions; import io.vertx.core.spi.cluster.ClusterManager; import io.vertx.spi.cluster.hazelcast.HazelcastClusterManager; /** * 以编码方式启动群集化MainVerticle, * * @author lhx * */ public class RunApiGateway { public static void main(String[] args) { // Hazelcast配置类 Config cfg = new Config(); // 关闭UDP组播,采用TCP进行集群通信。 JoinConfig joinConfig = cfg.getNetworkConfig().getJoin(); joinConfig.getMulticastConfig().setEnabled(false); joinConfig.getTcpIpConfig().setEnabled(true); joinConfig.getTcpIpConfig().addMember("192.168.1.100,192.168.1.132,192.168.1.130");// 有多个目标节点,就需要写多少地址。 // 这里指定所用通信的网卡(在本机多个网卡时如不指定会有问题,无论有无多个网卡最好设置一下。) cfg.getNetworkConfig().getInterfaces().setEnabled(true); cfg.getNetworkConfig().getInterfaces().addInterface("192.168.1.*"); // 申明集群管理器 ClusterManager mgr = new HazelcastClusterManager(cfg); VertxOptions options = new VertxOptions().setClusterManager(mgr); options.setClustered(true); options.setClusterHost("192.168.1.100");//这个一定要设置(在本机有多个网卡的时候,如果不设置,会收不到消息。) // 集群化vertx Vertx.clusteredVertx(options, res -> { if (res.succeeded()) { Vertx vertx = res.result(); vertx.deployVerticle(ApiGatewayVerticle.class.getName()); System.out.println("Api Gateway : cluster succeeded"); } else { res.cause().printStackTrace(); } }); } }
相关推荐
- 使用 Vert.x 提供的定时器接口,可以设置周期性任务和延迟执行任务,适应各种调度需求。 4. **Verticle 部署与取消**: - Verticles 是 Vert.x 应用的基本执行单元,可以是单个的 Java 类或其他语言的模块。...
在阅读《vert.x中文 PDF 下载》这本书时,你会了解到如何配置和启动vert.x环境,创建和部署Verticle,使用事件总线进行通信,以及如何利用vert.x提供的各种组件(如HTTP服务器、TCP服务器、WebSocket)构建网络应用...
Event Loop:即事件循环,是由Vert.x启动的事件处理线程,也是Vert.x项目对外开放的入口,Vert.x由此接收请求事件。一个Vert.x有一个或多个事件循环线程组成,线程最大数量为主机有效的CPU核数。 Event Loop ...
在2.1.2版本中,vert.x 提供了一种创新的方式来开发分布式、事件驱动的应用程序,充分利用了Java平台的非阻塞I/O(NIO)能力。下面我们将深入探讨vert.x的核心特性、其与Java的关系以及NIO在其中的角色。 1. **vert...
10. **扩展性**:Vert.x的事件循环模型允许轻松地水平扩展应用,只需在集群环境中部署多个实例即可。 总的来说,结合Vert.x和Spring Boot开发MQTT服务,可以充分利用两者的优势,构建出高效、可扩展的物联网解决...
4. **多语言支持**:Vert.x 提供了一套统一的API,允许开发者用Java、JavaScript、Ruby、Groovy等多种语言编写Verticle,实现了跨语言的无缝协作。 5. **网络和HTTP服务器**:Vert.x 提供了轻量级的网络和HTTP...
### Vert.x配置项VertxOptions的使用 #### 概述 在使用Vert.x框架开发分布式应用时,为了更好地控制和优化应用性能,开发者通常需要通过`VertxOptions`类来定制化配置Vert.x实例。`VertxOptions`是用于创建`Vertx`...
2. **部署 Verticle**: 在Vert.x 应用程序中,你需要部署Verticle 来启动它们。这可以通过`vertx run`命令或编程方式实现,例如在Java中使用`Vertx.deployVerticle()`方法。 3. **事件总线(Event Bus)**: Vert.x ...
【标题】"vert.x 3.3.3" 指的是Vert.x框架的一个特定版本,这个版本在3.x系列中被标记为3.3.3。Vert.x是一个开源的、轻量级的、高性能的应用程序开发平台,它主要用于构建反应式、分布式和高度可扩展的Java应用。与...
与Node.js相比,Vert.x更加灵活,因为它支持多种编程语言如JavaScript、Ruby、Groovy、Java等,甚至可以在同一项目中混合使用这些语言。 #### 二、Vert.x的核心概念 为了更好地理解Vert.x的线程模型,我们首先需要...
8. **部署与集群**:Vert.x 提供了简单的部署工具,可以轻松地在单机或多节点集群环境中部署Verticles,实现应用的横向扩展。 9. **API驱动**:Vert.x 的设计思路是API优先,这意味着所有的功能都可以通过API调用来...
标题中的“基于Vert.x(java)开发的API网关”指的是使用Vert.x框架构建的应用程序,该应用程序主要功能是作为API网关。API网关是一种架构模式,它充当客户端(如Web应用、移动应用或IoT设备)与后端服务之间的单一...
《Vert.x应用开发实例教程》旨在为Vert.x的初学者和大中专院校学生提供易于入门,全面了解和掌握Vert.x框架技术和应用的教材和辅导资料,为使用Vert.x开发实时应用和企业级应用打下良好的基础。
- **非框架特性:** 不同于 Spring Boot 或其他 Java 框架,Vert.x 是一个工具集合,提供了一组强大的 API 来构建响应式应用,而不是定义应用程序的结构或打包方式。 **1.2 响应式系统的四个关键特征** - **响应性...
vert.x是内存占用极小的快速开发框架,springboot模版项目
本指南旨在帮助Java开发者了解如何使用Eclipse Vert.x进行异步编程。 #### 二、什么是Vert.x? Vert.x是一个基于事件驱动模型的轻量级框架,支持多种语言(如Java、Groovy等),其核心特性包括: - **高性能与可...
Java API 版本的Vert.x Core 手册是关于Vert.x框架的重要参考资料,该框架是用Java编写的高度可扩展的事件驱动平台,适用于构建现代的、反应式的微服务和网络应用。 Vert.x Core是其核心组件,提供了低级别的API,...
Vert.X-generator是基于javafx8开发的图形界面Vert.x代码生成器,使用 Apache FreeMarker 作为代码文件的模板,用户可以一键将数据库中的表生成为任意风格的.java代码文件(比如经典的三层模型);该工具支持所有实现JDBC...
8. **语言无关性**:虽然vert.x是用Java实现的,但其API设计为与语言无关,可以与JavaScript、Ruby、Groovy、Ceylon等多种语言一起使用。 9. **Integration with other frameworks**:vert.x 可以轻松与其他Java...