Skip to main content
Version: 0.7.4

Минимальный конкурентный ресурс (Minimal Competing Resources)

Концепция, важная для минимальных конкурирующих ресурсов при использовании платформы Claptrap.Понимание этой концепции помогает разработчикам лучше проектировать State от Claptrap и избегать неправильных конструкций.

Что такое минимальный конкурентный ресурс#

Аналогия с концепцией "конкуренции ресурсов" в многопоточном программировании, где представлена концепция "наименьшего конкурентного ресурса" в бизнес-системе.Эта концепция позволяет легко найти точки проектирования о том, как применять Newbe.Claptrap.

Например, в случае электронной коммерции каждый товар является "наименьшим конкурентным ресурсом".Обратите внимание, что здесь не означает, что все товары являются "наименьшим конкурентным ресурсом".Потому что, если 10000 товаров пронумерованы, то нет никакой конкуренции, чтобы купить товары No 1 и No 2.Таким образом, каждый товар является наименьшим конкурентным ресурсом.

Вот еще несколько примеров:

  • В бизнес-системе, которая позволяет только одноконечный вход, счет входа пользователя является наименьшим конкурентным ресурсом
  • В системе конфигурации каждый элемент конфигурации является наименьшим конкурентным ресурсом
  • На фондовом рынке каждый ордер на покупку или продажу является наименьшим конкурентным ресурсом

В некоторых сценариях минимальные конкурирующие ресурсы также называются "Minimal Concurrent Unit"

State для Claptrap должен быть по крайней мере больше или равен диапазону "наименьших конкурирующих ресурсов".#

В сочетании с примером электронной коммерции snay, если все товары разработаны в State одного ИКТрапа (больше, чем наименьший конкурентный ресурс).Таким образом, различные пользователи покупают товары, которые влияют друг на друга, потому что модель Actor, основанная на Claptrap, выстраивается в очередь для обработки запросов.Другими словами, предполагая, что каждый товар должен обрабатывать 10 мс, то самый быстрый запрос на покупку также требует 10 000 х * 10 мс для обработки всех запросов на покупку.Но если каждый товар пронумерован, каждый товар предназначен для State для отдельного Claptrap.Тогда, поскольку они не связаны друг с друга.Чтобы продать все товары, теоретически это займет всего 10 мс.

Таким образом, легко сделать вывод, что если State Claptrap больше, чем минимальный диапазон конкурирующих ресурсов, система не будет иметь проблем с правильностью, но может быть некоторая потеря производительности. Кроме того, если State Claptrap меньше минимального диапазона конкурирующих ресурсов, отношения между Claptrap становятся неразрывно связанными и рискованными.Это эквивалентно разделению наименьшего конкурентного ресурса на части, которые обычно должны обрабатываться вместе в одной транзакции, что возвращается к проблеме распределенных транзакций, которые очень распространены в распределенной транзакции, с которой трудно справиться.