А порекомендуйте мне, пожалуйста, современные видеокурсы или книги или лекции по распределённым системам (для программистов).
Как я себе представляю, недостатки некоторых подобных - либо очень много теории (скажем, алгоритмы в синхронных сетях) не применимых, во всяком случае, напрямую на практике, или без обсуждения практического применения, или
(
Read more... )
Comments 4
Нынче мода на термин "распределенные системы" как-то прошла, они разбились на конкретные подвиды.
Например, есть кластеры - Кубернетис, Amazon ECS, которые могут запустить N копий контейнера и менять количество копий в зависимости от каких-то условий. Ну и поставить перед ним load balancer, чтобы принимал запросы откуда снаружи и раздавал контейнерам по очереди.
Есть распределенные базы данных типа Кассандры - идея та же, но вместо контейнеров там "узлы", которые хранят данные, копируют их между собой и могут отвечать на поисковые запросы на SQL-образном языке. Сюда же, наверное, идут Hadoop и Apache Spark.
Есть очереди типа Кафки и RabbitMQ, которые позволяют записать данные тута, а получить тама, со сложными правилами роутинга и гарантиями доставки.
Ну и т.п. В общем, искать надо не по абстрактным "распределенным системам", а по отдельным их типам. А иначе действительно будет чистая теория.
Reply
хочется как раз ту самую теорию, которая нужна для написания Кафки или Кассандры ))) или хотя б понимания принципов их написания. При этом, теорию, приближенную к практике, т.е. приведя грубую аналогию, хочется поизучать практически алгоритмы, но при этом не тратить уйму времени на освоение машины Тьюринга, но с другой стороны, не сводить это изучение к умению запускать какие-то готовые программы (типа Кафки и RabbitMQ), а всё ж немного научиться писать их самому.
Reply
^^^ очень хорошо сформулировано
DDIA же не про сферические distributed systems а как бы введение в то что модно называть data engineering. Что в общем то ниша причем быстро вырождающаяся последнее время (например от Scala в дебильный python) с точки зрения девелопера. В модном среди больших корпораций Databricks о наличии Spark можно и не догадаться.
Про data engineering есть у Manning/O'Reilly несколько книг рифмующихся с designing a data platform/building a machine learning platform. Но это ведь не хардкорная теория и за пределами data engineering польза от них сомнительная.
Теория для Кafka&Co (за пределами грубо говоря consistent hashing) не то чтобы существовала как учебник. У Flink например очень хорошая документация про тех детали того как он сделан есть. То есть для отдельных продуктов можно найти тех доки и аппроксимировать оттуда. А книги про Flink обсуждают как его использовать. Другой пример где половина мощности Kafka проистекает из копирования файла напрямую в сокет без участия cpu. Никая теория это не обсудит.
Кстати ( ... )
Reply
> DDIA же не про сферические distributed systems а как бы введение в то что модно называть data engineering.
Я как бы знаю. Просто не знаю, что ещё можно полезного читать по распределенным системам.
Reply
Leave a comment