Gossip (сплетник) — это группа протоколов в одноранговой компьютерной коммуникации, в которых распространение информации идёт способом, схожим с образом распространения эпидемий, и сводящимся к тому, что каждый или некоторые из узлов могут передавать обновляемые данные известным этому узлу соседям....
Gossip Protocol. Часть 1
Gossip (сплетник) — это группа протоколов в одноранговой компьютерной коммуникации, в которых распространение информации идёт способом, схожим с образом распространения эпидемий, и сводящимся к тому, что каждый или некоторые из узлов могут передавать обновляемые данные известным этому узлу соседям....
Распределенные данные. Конкурентные операции
Заметки из книги Клеппмана "Высоконагруженные приложения". Конкурентный доступ, время и относительность. Почему хорошо когда B причинно-следственно зависит от A. Зачем нужны векторы версий....
Распределенные данные. Репликация с несколькими ведущими узлами
Заметки из книги Клеппмана "Высоконагруженные приложения". Репликация с несколькими ведущими узлами и репликация без ведущих узлов. Зачем такой подход нужен и какие сложности несет; Обнуружение и исправление конфликтов; Как собрать кворум и чем он поможет....
Симметричное Шифрование
Разберемся, что такое симметричное шифрование; чем отличаются блочные шифры от потоковых; зачем нужен вектор иницилизации(IV); какие бывают режимы работы шифра; что делать с последним блоком....
Распределенные данные. Репликация
Заметки из книги Клеппмана "Высоконагруженные приложения". Зачем нужно распределять данные по разным нодам или даже ЦОДам; Чем отличается синхронная и асинхронная репликация; Как можно организовать реплкацию ведущего и ведомаго узла; Какие анамалии возможны при асинхронной репликации и какие гарантии можно дать....
Алгебраические Типы Данных
Сделаем из простых типов другие, составные и более сложные. Это и будут алгебраические типы данных....
Low Coupling и High Cohesion
Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач....
Закон Амдала
С точки зрения параллелизма, как пути для повышения эффективности вычислений, существует две крайности....
The Twelve-Factor App
Парни из Heroku предложили набор общих концептуальных решений проблем, которые наиболее часто возникают при разработке и поддержки веб-приложений....