Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
什么是';分区';在Apache Helix中_Apache_Distributed Computing_High Availability_Helix - Fatal编程技术网

什么是';分区';在Apache Helix中

什么是';分区';在Apache Helix中,apache,distributed-computing,high-availability,helix,Apache,Distributed Computing,High Availability,Helix,我正在学习ApacheHelix。我遇到了关键字“Partitions”。 根据这里提到的定义,每个子任务(主任务)被称为螺旋中的一个分区。 当我浏览配方分布式锁管理器时,分区只不过是资源的实例。(增加numOfPartitions,锁的数量就会增加)。 有人能用一个简单的例子解释一下,ApacheHelix中的分区到底是什么吗?我认为分区本质上是一个资源的实例是对的。与其他分布式系统一样,分区用于实现并行性。只有一个实例的资源只能在一台计算机上运行。分区只是通过对资源进行分区,提供在多台机

我正在学习ApacheHelix。我遇到了关键字“Partitions”。
根据这里提到的定义,每个子任务(主任务)被称为螺旋中的一个分区。
当我浏览配方分布式锁管理器时,分区只不过是资源的实例。(增加numOfPartitions,锁的数量就会增加)。


有人能用一个简单的例子解释一下,ApacheHelix中的分区到底是什么吗?

我认为分区本质上是一个资源的实例是对的。与其他分布式系统一样,分区用于实现并行性。只有一个实例的资源只能在一台计算机上运行。分区只是通过对资源进行分区,提供在多台机器之间拆分单个资源所需的构造

这是一种在大部分分布式系统中都可以找到的模式。不过,区别在于,例如,分布式数据库明确定义分区本质上是一些更大的数据集的子集,可以安装在单个节点上,而Helix更为通用,因为分区没有明确的含义或用例,但有许多潜在的含义和潜在的用例

我非常熟悉的系统中的一个用例是ApacheKafka的主题分区。在Kafka中,每个主题(本质上是一个分布式日志)都被划分为若干个分区。虽然主题数据可以分布在集群中的多个节点上,但每个分区都被限制为单个节点上的单个日志。Kafka通过向新节点添加新分区来提供可伸缩性。当消息生成到卡夫卡主题时,它们在内部被散列到某个特定节点上的某个特定分区。当从主题中使用消息时,使用者会在分区之间切换,从而在从主题中使用消息时在节点之间切换

这种模式通常适用于许多可伸缩性问题,几乎在任何HA分布式数据库(如DynamoDB、Hazelcast)、map/reduce(如Hadoop、Spark)和其他数据或任务驱动系统中都可以找到


实际上,还提供了一系列关于资源和分区之间关系的有用示例。

我认为分区本质上是资源的一个实例是对的。与其他分布式系统一样,分区用于实现并行性。只有一个实例的资源只能在一台计算机上运行。分区只是通过对资源进行分区,提供在多台机器之间拆分单个资源所需的构造

这是一种在大部分分布式系统中都可以找到的模式。不过,区别在于,例如,分布式数据库明确定义分区本质上是一些更大的数据集的子集,可以安装在单个节点上,而Helix更为通用,因为分区没有明确的含义或用例,但有许多潜在的含义和潜在的用例

我非常熟悉的系统中的一个用例是ApacheKafka的主题分区。在Kafka中,每个主题(本质上是一个分布式日志)都被划分为若干个分区。虽然主题数据可以分布在集群中的多个节点上,但每个分区都被限制为单个节点上的单个日志。Kafka通过向新节点添加新分区来提供可伸缩性。当消息生成到卡夫卡主题时,它们在内部被散列到某个特定节点上的某个特定分区。当从主题中使用消息时,使用者会在分区之间切换,从而在从主题中使用消息时在节点之间切换

这种模式通常适用于许多可伸缩性问题,几乎在任何HA分布式数据库(如DynamoDB、Hazelcast)、map/reduce(如Hadoop、Spark)和其他数据或任务驱动系统中都可以找到


实际上,还提供了一系列关于资源和分区之间关系的有用示例。

谢谢@kuujo,您的回答非常有用。我忘了把它标记为已接受,所以我现在就做了。谢谢@kuujo,你的回答很有帮助。我忘了把它标记为已接受,所以我现在就做了。
final int numPartitions = 12;
admin.addResource(clusterName, lockGroupName, numPartitions, "OnlineOffline",
          RebalanceMode.FULL_AUTO.toString());