博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redisson官方文档 - 12. 独立节点模式
阅读量:7260 次
发布时间:2019-06-29

本文共 3063 字,大约阅读时间需要 10 分钟。

12.1. 概述

Redisson Node指的是Redisson在分布式运算环境中作为独立节点运行的一种模式。Redisson Node的功能可以用来执行通过或发送的远程任务,也可以用来为提供远端服务。 所有这些功能全部包含在一个JAR包里,您可以从下载

12.2. 配置方法

12.2.1. 配置参数

Redisson Node采用的是与Redisson框架同样的,并同时还增加了以下几个专用参数。值得注意的是ExecutorService使用的线程数量可以通过threads参数来设定。

mapReduceWorkers (MapReduce的工作者数量)

默认值:0

用来指定执行MapReduce任务的工作者的数量
0 代表当前CPU核的数量

executorServiceWorkers(执行服务的工作者数量)

默认值:null

用一个Map结构来指定某个服务的工作者数量,Map的Key是服务名称,用value指定数量。

redissonNodeInitializer(初始化监听器)

默认值:null

Redisson Node启动完成后调用的初始化监听器。

12.2.2. 通过JSON和YAML配置文件配置独立节点

以下是JSON格式的配置文件范例,该范例是在集群模式配置方法基础上,增加了Redisson Node的配置参数。

{   "clusterServersConfig":{      "nodeAddresses":[         "//127.0.0.1:7004",         "//127.0.0.1:7001",         "//127.0.0.1:7000"      ],   },   "threads":0,   "executorServiceThreads": 0,   "executorServiceWorkers": {"myExecutor1":3, "myExecutor2":5},   "redissonNodeInitializer": {"class":"org.mycompany.MyRedissonNodeInitializer"}}

以下是YAML格式的配置文件范例,该范例是在集群模式配置方法基础上,增加了Redisson Node的配置参数。

---clusterServersConfig:  nodeAddresses:  - "//127.0.0.1:7004"  - "//127.0.0.1:7001"  - "//127.0.0.1:7000"  scanInterval: 1000threads: 0executorServiceThreads: 0executorServiceWorkers:  myService1: 123  myService2: 421redissonNodeInitializer: !
{}

12.3. 初始化监听器

Redisson Node提供了在启动完成后,执行RedissonNodeInitializer指定的初始化监听器的机制。这个机制可以用在启动完成时执行注册在类路径(classpath)中分布式远程服务的实现,或其他必要业务逻辑。比如,通知其他订阅者关于一个新节点上线的通知:

public class MyRedissonNodeInitializer implements RedissonNodeInitializer {    @Override    public void onStartup(RedissonNode redissonNode) {        RMap
map = redissonNode.getRedisson().getMap("myMap"); // ... // 或 redisson.getRemoteService("myRemoteService").register(MyRemoteService.class, new MyRemoteServiceImpl(...)); // 或 reidsson.getTopic("myNotificationTopic").publish("New node has joined. id:" + redissonNode.getId() + " remote-server:" + redissonNode.getRemoteAddress()); }}

12.4. 嵌入式运行方法

Redisson Node也可以以嵌入式方式运行在其他应用当中。

// Redisson程序化配置代码Config config = ...// Redisson Node 程序化配置方法RedissonNodeConfig nodeConfig = new RedissonNodeConfig(config);Map
workers = new HashMap
();workers.put("test", 1);nodeConfig.setExecutorServiceWorkers(workers);// 创建一个Redisson Node实例RedissonNode node = RedissonNode.create(nodeConfig);// 或者通过指定的Redisson实例创建Redisson Node实例RedissonNode node = RedissonNode.create(nodeConfig, redisson);node.start();//...node.shutdown();

12.5. 命令行运行方法

  1. Redisson Node的JAR包。
  2. 编写一个JSON或YAML格式的配置文件。
  3. 通过以下方式之一运行Redisson Node:
    java -jar redisson-all.jar config.json

java -jar redisson-all.jar config.yaml

另外不要忘记添加-Xmx-Xms之类的参数。

12.6. Docker方式运行方法

  1. 首先运行Redis(没有现有Redis环境的情况):
    docker run -d --name redis-node redis
  2. 再运行Redisson Node:
    docker run -d --network container:redis-node -v <path-to-config>:/opt/redisson-node/redisson.conf redisson/redisson-node

可以通过JAVA_OPTS来指定JAVA虚拟主机的运行参数:

docker run -d --network container:redis-node -e JAVA_OPTS="-Xmx1g" -v <path-to-config>:/opt/redisson-node/redisson.conf redisson/redisson-node

<path-to-config> - Redisson Node的JSON或YAML配置文件路径

转载地址:http://rwudm.baihongyu.com/

你可能感兴趣的文章
Java 集合
查看>>
Sql Server 2008R2版本中有关外键Foreign的使用
查看>>
mysqldump导入导出mysql数据库
查看>>
js小记 function 的 length 属性
查看>>
jQuery 遍历函数
查看>>
Android的消息机制: Message/MessageQueue/Handler/Looper
查看>>
ASP.NET MVC学习系列(一)-WebAPI初探
查看>>
Gson简要使用笔记
查看>>
windows批量创建用户
查看>>
category使用 objc_setAssociatedObject/objc_getAssociatedObject 实现添加属性
查看>>
"org.jboss.netty.internal.LoggerConfigurator".DESCRIBED is already registered 的解决办法
查看>>
字符串交替打印 操作方法
查看>>
Ubuntu 用vsftpd 配置FTP服务器
查看>>
java中的io系统详解(转)
查看>>
iOS开发- UICollectionView详解+实例
查看>>
android 从零单排 第一期 按键显示helloworld
查看>>
Get buck-boost performance from a boost regulator
查看>>
串行通信------字符串发送和十六进制发送
查看>>
Linux_Command
查看>>
安全DNS
查看>>