文档章节

Apache Ignite的Node.js客户端使用入门

李玉珏
 李玉珏
发布于 02/13 19:24
字数 933
阅读 267
收藏 0

介绍

Ignite原生提供了若干种主要编程语言的支持,最近,还通过瘦客户端技术对其它的编程语言提供了支持,其中在2.7版本中新增加的瘦客户端包括Python、PHP和Node.js。

瘦客户端具有如下的特征:

  • 这些都是轻量级的客户端,使用标准套接字连接接入集群;
  • 它们不是集群拓扑的一部分;
  • 它们不会持有数据;
  • 它们不会被用作计算网格的计算节点。

总而言之,一个瘦客户端只是建立了与标准节点之间的套接字连接,然后通过该节点执行各种操作。

在本文中,会聚焦Node.js,然后快速学习如何使用Node.js瘦客户端。

要求

Node.js客户端的要求如下:

  • Node.js V8及更新的版本;
  • Ignite V2.7及更新的版本。

下面的演示会基于macOS操作系统。

安装

下面会使用Ignite的二进制发行版,可以从这里下载。

在macOS上安装Node.js的最简单的方法是使用HomeBrew,只要在终端中简单地执行下面的命令就可以:

brew install node

安装完成之后,可以像下图这样确认一下软件的版本:

图1:确认软件版本

Node.js的源代码和其它操作系统的安装文件可以从Node.js官网下载。

下一步,需要安装Ignite的Node.js瘦客户端包,最快的方式是在终端中执行下面的命令:

npm install -g apache-ignite-client

输出大致如下图所示:

图2:安装Node.js瘦客户端

也可以从源代码进行构建,具体细节可以参见Node.js瘦客户端文档

Node.js示例

Ignite的发行版附带了很多Node.js的示例,不过作为第一步,应至少先启动一个Ignite服务端节点,具体可以在终端中输入如下的命令:

$IGNITE_HOME/bin/ignite.sh

其中变量$IGNITE_HOME指向了Ignite的安装文件夹。

输出大致如下图所示:

图3:启动Ignite服务端节点

下一步,需要对Node.js示例进行链接,具体可以在终端中输入下面的命令:

cd $IGNITE_HOME/platforms/nodejs/examples
npm link apache-ignite-client

链接是一个测试Node.js示例的快捷方式。

运行示例

下面就可以运行示例应用了,在终端中转到examples目录,然后输入如下的命令:

node CachePutGetExample.js

输出大致如下图所示:

图4:CachePutGetExample.js输出

Web控制台

可以使用Web控制台来确认一下Ignite的存储,Web控制台需要运行一个Web代理,在Web控制台中提供了下载Web代理的选项,另外,还要确保下面的目录:

$IGNITE_HOME/libs/optional/ignite-rest-http

向上复制一级,让其目录结构如下:

$IGNITE_HOME/libs/ignite-rest-http

此外,在CachePutGetExample.js文件中,还需要注释掉下面的行:

await igniteClient.destroyCache(CACHE_NAME);

这些都完成之后,就可以重新启动Ignite服务端节点,转到Web代理解压的文件夹,然后执行下面的命令启动Web代理:

./ignite-web-agent.sh

再次运行CachePutGetExample.js,这时在Web控制台中,如果转到Monitoring > Dashboard > Caches,就可以看到已经创建了Ignite存储,主节点有4条数据,如下图所示:

图5:Ignite存储

下一步

Ignite还有其它的Node.js示例代码,都可以在终端中进行测试,关于Ignite的Node.js瘦客户端的更多细节,可以参见相关的文档

© 著作权归作者所有

李玉珏

李玉珏

粉丝 387
博文 79
码字总数 149758
作品 0
沈阳
架构师
私信 提问
在既有系统中打通Apache Ignite、MySQL和Node.js

介绍 在本系列的第一篇文章中,安装了Node.js、Ignite的Node.js瘦客户端包,并且测试了一个示例应用。在本文中,可以看一下Ignite在处理其它数据源(比如关系数据库)的已有数据时,一个很有...

李玉珏
03/04
455
5
Ignite内存计算平台与Oracle TimesTen Scaleout对比

1.产品介绍 Ignite Ignite内存计算平台是一个高性能、集成化、混合式的企业级分布式架构解决方案,功能强大,有先进的集群管理功能,对于分布式内存数据库、流处理技术、分布式计算、分布式服...

李玉珏
2018/08/09
728
2
Apache Ignite上的TensorFlow

任何深度学习都是从数据开始的,这是关键点。没有数据,就无法训练模型,也无法评估模型质量,更无法做出预测,因此,数据源非常重要。在做研究、构建新的神经网络架构、以及做实验时,会习惯...

李玉珏
03/20
1K
0
内存数据组织 - Apache Ignite

1.Ignite是什么? Apache Ignite是一个以内存为中心的分布式数据库、缓存和处理平台,支持事务、分析以及流式负载,可以在PB级数据上享有内存级的性能。 1.1.Ignite定位 Ignite是不是内存数据...

匿名
2015/01/10
29K
8
使用Apache Ignite构建C++版本的分布式应用

本文会介绍Apache Ignite的C++ API(称为Ignite C++),主要面向C/C++开发者。 Ignite和Ignite C++ Ignite C++构建于Ignite之上; Ignite C++在同一个进程中启动JVM,并且通过JNI与之通信; ...

李玉珏
01/27
539
0

没有更多内容

加载失败,请刷新页面

加载更多

DDD(十)--仓储

1、引言 DDD中的Repository(仓储):协调领域和数据映射层,利用类似与集合的接口来访问领域对象。——《领域驱动设计-软件核心复杂性应对之道》 仓储是DDD中产生的概念,也就是说,如果应...

MrYuZixian
33分钟前
8
0
Jenkins的多种迁移方法

说明 Jenkins有时需要进行迁移,主目录会发生改变,本文主要讲解如何更改主目录。由于jenkins安装方式的不同,主目录也不一样。 本测试环境:Centos7.6 X64。注意:在更改主目录之前,请一定...

Elson
34分钟前
10
0
好程序员web前端教程分享前端javascript练习题三

好程序员web前端教程分享前端javascript练习题三,cookie 一周内免登录 样式代码: <form action=""> 姓名:<input type="text" id="usename"/><br /> 密码:<input type="text" i="mima"/>......

好程序员官网
53分钟前
8
0
Table 信息转成pojo属性

import com.google.common.base.CaseFormat;import java.sql.*;/** * @author: liyhu * @date: 2019/11/22 */public class TableToPojo { static String url="jdbc:mys......

暗中观察
今天
10
0
Access数据库-C#操作类

//Access数据库-C# 操作类 代码using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.OleDb;using System.Data;namespace XXX{......

芳缘
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部