使用Apache Ignite瘦客户端– Apache Ignite内部博客

从2.4.0版本开始,Apache Ignite引入了一种新的连接到Ignite群集的方法,该方法允许与Ignite群集进行通信而无需启动Ignite客户端节点。 从历史上看,Apache Ignite提供了客户端和服务器节点两个概念。 点燃旨在用作轻量级模式的客户端节点,该节点不存储数据(但是它可以存储在高速缓存附近),并且不执行任何计算任务。 主要是,客户端节点用于与服务器进行远程通信,并允许使用整套Ignite API来操纵Ignite缓存。 Ignite客户端节点有两个主要缺点:

  • 只要Ignite客户端节点连接到Ignite群集,它就会成为群集拓扑的一部分。 拓扑越大,维护难度就越大。
  • 在客户端模式下,Apache Ignite节点会消耗大量资源来执行缓存操作。

为了解决上述问题,Apache Ignite提供了一种新的二进制客户端协议,用于以任何编程语言或平台实现瘦Ignite客户端。

请注意,“瘦”一词意味着它不会启动任何与Ignite群集进行通信的Ignite节点,也不会实现任何发现/通信SPI逻辑。

瘦客户端通过TCP套接字连接到Ignite群集,并使用定义明确的二进制协议执行CRUD操作。 该协议是完全基于套接字的请求-响应样式协议。 该协议被设计为足够严格以确保通信中的标准化(例如连接握手,消息长度等),但仍然足够灵活以使开发人员可以扩展该协议以实现自定义功能。

Apache Ignite在以下内容中提供了简要的数据格式和通信详细信息:
文档使用二protocol.Ignite已经支持.NET和Java瘦客户机基础上的协议,并计划发布瘦客户机主要语言,如goLang,Python等。但是,你可以实现你的瘦客户机顶部通过使用二进制协议,可以选择任何您喜欢的编程语言。

还要注意,由于它通过中间节点工作,因此Apache Ignite瘦客户端的性能略低于Ignite客户端节点。 假设您有两个Apache Ignite A,B节点,并且您正在使用瘦客户机C从集群中检索数据。 使用瘦客户端C,您已连接到节点B,并且每当尝试检索属于节点A的任何数据时,请求始终通过客户端B。对于Ignite客户端节点,它将发送请求。直接到节点A。

在大多数情况下,您不必关心消息格式如何,或套接字握手如何执行。 每种编程语言的瘦客户端都为您封装了艰苦

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值