Публикации по теме 'distributed-systems'


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

Реализация распределенных транзакций с помощью Golang и Gin
Введение Распределенные транзакции необходимы для управления согласованностью данных между несколькими службами в архитектуре микрослужб. Реализация распределенных транзакций в Golang с веб-платформой Gin может помочь разработчикам создавать масштабируемые, удобные в сопровождении и отказоустойчивые приложения. Эта статья проведет вас через процесс реализации распределенных транзакций с использованием Golang и Gin. Мы рассмотрим следующие темы: Настройка среды Создание базового..

Интервью с дизайнером системы — Uber/Lyft
1. Введение Когда дело доходит до передвижения по городу, многие люди выбирают приложения для совместного использования, такие как Uber или Lyft. Действительно, такие приложения очень упрощают поездки на короткие расстояния, предлагая конкурентоспособные цены, достаточно короткое время ожидания и высокую доступность. С технической точки зрения такие системы очень интересны, потому что поиск ближайшего соседа затруднен. В этой статье я хочу поделиться своим дизайном крупномасштабных..

Apache Kafka как основное хранилище данных
Платформа потоковой передачи событий как единый источник достоверной информации для распределенных платформ Разные сценарии использования требуют разных решений Это утверждение может показаться очевидным, однако не все продукты следует этому простому правилу. За последние годы Интернет стал доступен миллиардам людей по всему миру благодаря низкой стоимости подключения и широкому охвату, а также стоимость обслуживания процессинговых центров в настоящее время дешевле, чем..

AWS Lambda с Java: сборка, развертывание, предоставление доступа, трассировка и мониторинг
Введение Распределенная трассировка и устранение неполадок в облачной среде сопряжены с рядом проблем. В мире микросервисов, где тысячи программных компонентов распределены по разным регионам, понять, что пошло не так в конкретной транзакции, непросто. Вот почему в последние годы был создан ряд инструментов, призванных помочь разработчикам наиболее простым способом анализировать распределенные транзакции. В этой статье мы реализуем компонент распределенной системы в облачной среде..

Разработка ограничителя скорости
Введение Ограничение скорости — это фундаментальный метод, используемый для управления скоростью, с которой приложение или служба обрабатывают входящие запросы. Это необходимо для предотвращения злоупотреблений, защиты ресурсов и поддержания доступности услуг. В этой статье мы проведем вас через разработку ограничителя скорости, обсудим различные алгоритмы, высокоуровневую архитектуру и подробный дизайн, а также реализуем ограничение скорости в распределенной среде, оптимизируем..

Реплицированные конечные машины
Что такое конечный автомат Прежде чем углубляться в реплицированные конечные автоматы, давайте сначала разберемся, что такое конечный автомат. Конечный автомат считывает серию входных данных. Каждый раз, когда он читает ввод, он сбрасывает свое старое состояние и переходит в новое. Каждое состояние знает, в какое состояние переходит машина для данного ввода. Рассмотрим автомат по продаже газировки, который принимает только четвертинки и продает по одной газировке за 0,25 доллара...