2.Apache Geode的主要特征

高读写吞吐量

Geode采用并发内存数据结构和高度优化的配送基础设施提供的读写能力。应用程序可以通过同步或异步复制高读取吞吐量或分区在许多Geode系统成员的数据实现高吞吐量动态读写内存中的数据拷贝。如果数据访问在整个数据集上相当均衡,则数据划分将使总吞吐量增加一倍。仅由骨干网络容量的线性增加的吞吐量是有限的。

低和可预测的延迟

Geode的优化缓存层最小化线程和进程之间的上下文切换。它管理数据在高度并发的结构,以尽量减少争点。如果接收方可以保持同步,则对等成员的通信是同步的,这将使数据分发的延迟保持在最低限度。服务器管理对象图形序列化形式减少对垃圾收集器的应变。

Geode分区订阅管理(兴趣注册和连续查询)在服务器数据存储,确保订阅只处理一次所有感兴趣的客户。由此产生的CPU使用和带宽利用率的改善提高吞吐量和减少客户端订阅的延迟。

高扩展性

Geode实现可扩展性,通过动态分区在许多成员数据和扩展数据在服务器负载均匀。对于“热”数据,您可以配置系统以动态展开以创建数据的更多副本。您也可以提供应用程序的行为以分布式的方式运行,接近它需要的数据。

如果需要支持并发和不可预测的并发客户端负载,则可以增加管理数据的服务器数,并在其上分发数据和行为,以提供统一的和可预测的响应时间。客户端根据服务器负载条件的连续反馈,不断向服务器场加载平衡。随着数据分区和复制跨服务器,客户端可以动态地移动到不同的服务器,以统一负载的服务器,并提供最佳的响应时间。

还可以通过对外部数据存储(如数据库)进行数据更改的异步“廷时写”来提高可伸缩性。Apace Geode排队为了所有的更新和冗余避免瓶颈。你也可以将更新和传播他们在批处理的数据库。

连续可用性

除了保证一致的副本数据在内存中,应用程序可以保存数据在一个或多个Geode的成员,Geode成员利用“无共享磁盘架构同步或异步磁盘。”

所有的异步事件(存储转发的事件)是在至少两个成员,如果一台服务器故障冗余管理,冗余接管。所有客户端连接到逻辑服务器,客户端在故障期间或服务器未响应时自动连接到组中的备用服务器。

可靠的事件通知

发布/订阅系统提供了一个数据分发服务,将新的事件发布到系统中,并以可靠的方式路由到所有感兴趣的用户。传统的消息平台专注于消息传递,但通常接收应用程序需要访问相关数据之前,他们可以处理事件。这就要求它们在传递事件时访问标准数据库,通过数据库的速度限制订阅服务器。

Apache Geode提供的数据,通过一个单一的系统事件。数据管理为一个或多个分布式数据区域中的对象,类似于数据库中的表。应用程序只需插入、更新或删除数据区域中的对象,并且该平台将对象更改传递给订阅服务器。接收事件的用户可以直接访问本地存储器中的相关数据,也可以通过单跳从其他成员之一获取数据。

并行计算

你可以在Apache Geode的成员上并行的执行应该程序的业务逻辑。Apache Geode的数据感知功能执行服务允许执行任意的,依赖于数据的应用功能对成员的数据是参考尺度地域划分。

通过共置相关数据和并行计算,可以提高整体的吞吐量。计算时间和成员数是成反比的,它可以被并行化。

基本的前提是将函数透明地传递给包含该函数所需的数据子集的应用程序,并避免在网络上移动数据。应用程序函数只能在成员的一个子集上并行执行,或在所有成员之间并行执行。这个编程模型类似于流行的地图缩小模型,诸如谷歌地图。数据感知函数路由最适合需要在多个数据项(如查询或自定义聚合函数)上进行迭代的应用程序。

无共享磁盘持久性

每个Apache系统会员管理磁盘上的数据文件独立于其他成员。磁盘中的故障或一个成员的缓存失败不影响另一个缓存实例在其磁盘文件上安全运行的能力。这种“无共享”的持久性体系结构允许应用程序配置,不同类别的数据保存在系统的不同成员,大大提高应用程序的整体吞吐量,即使磁盘配置为应用对象的持久性。

不同于传统的数据库系统,Apache Geode没有在单独的文件中管理和处理日志。所有数据更新被附加到类似于传统数据库的事务日志的文件中。如果磁盘不被其他进程同时使用,则可以避免磁盘查找时间,所产生的唯一开销是旋转延迟。

降低所有权成本

可以按层次中配置缓存。客户端应用程序可以在本地主机(内存和溢出磁盘),当本地访问不到可访问缓存服务器。即使在本地缓存的百分之30命中率转化为显著节省成本。与每个单一事务相关联的总成本来自CPU周期花费,网络成本,对数据库的访问,以及与数据库维护相关的无形成本。通过管理数据为应用对象,可以避免额外的成本(CPU)和映射SQL行相关的对象。

客户/服务器的单跳能力

客户端可以将单个数据请求直接发送到持有数据密钥的服务器,避免多跳来定位被分区的数据。客户端中的元数据标识正确的服务器。此功能提高了服务器层的性能和客户端对分区区域的访问。

客户机/服务器安全

Apache Geode支持同时运行多个不同的用户,在客户端应用程序。此功能可安装在Geode客户端嵌入在应用服务器和应用服务器支持多用户数据请求。每个用户可以被授权访问服务器上的一小部分数据,如在客户应用程序中,每个客户只能访问自己的订单和发货。客户端中的每个用户都与自己的凭据集连接到服务器,并且对服务器缓存有自己的访问权限。

客户机/服务器通信增加了对重放攻击的安全性。服务器向客户端发送一个唯一的随机标识符,每个响应在下一个客户端请求中使用。由于标识符,甚至将重复的客户端操作调用发送给服务器作为唯一请求。

多点数据分布

可扩展性问题可能是由于数据站点在广域网(广域网)上散布的地理位置造成的。GemFire提供了一个模型来解决这些拓扑结构,从单一的点对点簇在广域网的数据中心之间的可靠通信。这种模式允许分布式系统扩展的无界和松散耦合的方式,而不会失去性能,可靠性或数据一致性。

该架构的核心是网关发送方配置,用于将区域事件分发到远程站点。您可以部署网关发送实例并行,使GemFire增加分布区事件广域网吞吐量。还可以配置持久性和高可用性的网关发送方队列,以避免在成员失败的情况下丢失数据。

连续查询

在通讯系统如java消息服务,客户订阅的主题和队列。发送到主题的任何消息都会发送给订阅服务器。通过应用Geode允许查询使用对象查询语言表达复杂的业务场景。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值