Comments 3
Но справедливо будет сказать, что микросервисы по природе своей склонны иметь пропускную способность выше, чем монолиты.
Не статья, а компот. Сначала рассказывают как контейнерезация позволяет делать больше, а потом намекают на то что там что-то такое трудное есть…ах это трудное наверное накладные расходы на трансфер/клонирование данных + там еще управление
А потом подводим итог о том что есть такой язык golang внутри которого тоже можно контейнеры делать…ой, а может это не контейнеризация, а многопоточное исполнение? И вдруг окажется что многопоточный монолит будет в тряпки рвать любую микросервисную архитектуру по расходу ресурсов и скорости?
Аналогия со стиральными машинами кривая как котенок с дверцей.
Сравнивается одна совмещенная машина и две раздельных.
Аналогия со стиральными машинами кривая. Сравнивается одна совмещенная машина и две раздельных.
Аналогия чего с чем? Любая аналогия имеет свои недостатки, но в плане количества машин аналогия концептуально верна. В этом и заключается принцип конвейеризации. Нужно разделить одну сущность выполняющую одну задачу на несколько отдельных сущностей одновременно выполняющих несколько последовательных подзадач. Да, мы делим одну машину на две.
может это не контейнеризация, а многопоточное исполнение?
Смысл в том, что это разделение на несколько сущностей способных одновременно выполнять последовательные подзадачи. Да, это может быть реализовано в том числе через многопоточное исполнение, но как это влияет на принцип? Смысл в том, чтобы научиться эффективно управлять задачами и процессами. Если угодно, в том, чтобы научиться использовать эту самую многопоточность, если мы говорим про программирование под один процессор с несколькими потоками.
Я программист, у меня есть задача, есть один процессор с несколькими потоками, как мне использовать возможности своего многопоточного процессора? Есть разные способы. И вот один из этих способов — это конвейеризация.
окажется что многопоточный монолит будет в тряпки рвать любую микросервисную архитектуру по расходу ресурсов и скорости?
Все зависит от конкретного монолита, конкретных микросервисов, конкретной среды исполнения. Опять попробую другими словами: эта статья предлагает конкретный способ думать о проблемах, но не предлагает решение конкретных проблем.
Конвейеризация: универсальный способ повышения пропускной способности