You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

github.com/c1rno/distributed-priority-queue

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/c1rno/distributed-priority-queue

v0.0.0-20200112193619-367e426900e9
Source
Go
Version published
Created
Source

Distributed priority queue

Точка отсчета Skeap & Seap: Scalable Distributed Priority Queues for Constantand Arbitrary Priorities Тут еще немного инфы про роутинг A Self-Stabilizing General De Bruijn Graph

Базовые сущности, которые необходимы для mvp

Aggregation Tree

Распределенная структура данных (описана в аппендиксе А статьи), ориентированный граф. Граф строится из нод (это отдельный процесс/сервер/т.д.), нода в свою очередь состоит из трех виртуальных нод - левая, средняя, правая, данные хранятся в них

Ноды имеют свой уникальный идентификатор - id - какой он будет нужно придумать; виртуальные ноды идентифицируются по лейблу, лейбл средней виртуальной ноды вычисляется как хеш от id ноды, лейбл левой виртуальной ноды = лейбл средней виртуальной ноды / 2, лейбл правой виртуальной ноды = ( лейбл средней виртуальной ноды + 1 ) / 2.

Более того, id нод дожны быть "сравнимы"/"comparable", т.е. для них должны быть определены операции больше/меньше/равно. Это нужно для роутинга - ноды должны знать свих "чилдов" и "парентов", которые определяются при сравнении id нод; id одной больше другой - первая парент и наоборот. И еще, про id нод, их зацикливают pred(v_min) =v_max and succ(v_max) =v_min, итого, физические ноды просто последовательно выстраиваются в кольцо.

Помимо id "чилда" и "парента" каждая нода должна знать лейблы своих виртуальных нод, а так же лейблы виртуальных нод своих "чилда" и "парента".

FAQs

Package last updated on 12 Jan 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.