
Go Patterns. Retry
Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки....
Любое взаимодействие программных компонентов ненадежно. Вызываемый компонент может быть временно недоступен или возвращать различные ошибки....
Чем раньше будет обнаружена проблема, тем меньше усилий потребуется для ее разрешения...
Рассмотрим несколько примером Goroutine Leaks...
При работе с параллельным кодом существует несколько различных вариантов безопасной работы...
Пакет sync содержит примитивы, которые наиболее полезны для низкоуровневой синхронизации доступа к памяти....
В 1965 году Эдсгер Дейкстра сформулировал задачу об обедающих философах. Задача была иллюстрацией проблем синхронизации при разработке параллельных алгоритмов и техник решения этих проблем....
Качественный дизайн обладает слабой связанностью (low coupling) и сильной связностью (high cohesion). Это значит, что программный компонент имеет небольшое число внешних связей и отвечает за решение близких по смыслу задач....
Шардинг и репликация...
Контейнеры — основной строительный элемент паттернов, но в конечном итоге именно группа контейнеров, локализованная на одной машине, представляет собой базовый элемент паттернов проектирования распределенных систем....
Брендан Бёрнс излагает в своей книге абсолютный минимум, необходимый для правильного проектирования распределенных систем....