Гражданская авиация — глобальная индустрия, в которой непрерывно происходит синхронизация и обработка огромных массивов данных. В середине 20 века глобальные системы бронирования авиабилетов были одними из первых примеров применения компьютерных комплексов и сетей передачи данных. Давайте посмотрим, как сегодня технологии блокчейн могут помочь быстрее и эффективнее решить простую, на первый взгляд, задачу: перевести пассажира из точки «А» в точку «В»?

Рубрика «распределенные системы» - 10
От теории к практике: как применяется блокчейн в авиации
2019-11-01 в 11:00, admin, рубрики: aviation, blockchain, DLT, Ethereum, Hyperledger, s7 airlines, s7 techlab, Блог компании S7 Airlines, распределенные системы, транспортRabbitMQ против Kafka: отказоустойчивость и высокая доступность в кластерах
2019-10-30 в 5:06, admin, рубрики: big data, ITSumma, RabbitMQ, Блог компании ITSumma, брокер сообщений, высокая производительность, обмен сообщениями, очередь сообщений, распределенные системы, Системы обмена сообщениями
Отказоустойчивость и высокая доступность — большие темы, так что посвятим RabbitMQ и Kafka отдельные статьи. Данная статья о RabbitMQ, а следующая — о Kafka, в сравнении с RabbitMQ. Статья длинная, так что устраивайтесь поудобнее.
Рассмотрим стратегии отказоустойчивости, согласованности и высокой доступности (HA), а также компромиссы, на которые приходится идти в каждой стратегии. RabbitMQ может работать на кластере узлов — и тогда классифицируется как распределенная система. Когда речь заходит о распределенных системах, мы часто говорим о согласованности и доступности.
Эти понятия описывают, как система ведет себя при сбое. Сбой сетевого соединения, сбой сервера, сбой жесткого диска, временная недоступность сервера из-за сборки мусора, потеря пакетов или замедление сетевого соединения. Все это может привести к потере данных или конфликтам. Оказывается, практически невозможно поднять систему, одновременно и полностью непротиворечивую (без потери данных, без расхождения данных), и доступную (будет принимать операции чтения и записи) для всех вариантов сбоя.
Читать полностью »
Как мы пишем микросервисы и почему не делаем этого быстро
2019-10-25 в 11:04, admin, рубрики: Erlang/OTP, java, RBKmoney, микросервисы, платежные системы, Разработка под e-commerce, распределенные системы
Истории по распиливанию монолита часто похожи одна на другую. Был у команды здоровенный неповоротливый монолит, решили его распилить на россыпь правильных и шустреньких микросервисов, все стало круто. Отличаются истории лишь степенью ужаса “до”, радости “после” и рядом вторичных характеристик.
У нас в RBK.money тоже микросервисы. Но пришли мы к ним немного не так, как большинство. У нас все было даже хуже монолита — у нас на старте просто все было хреново.
Под катом о том, как мы, собственно, и строили микросервисы, почему OpenSource — это не только здорово в принципе, но еще и работает как мотивационная составляющая писать хороший код.
Распределенная трассировка в Istio
2019-10-21 в 6:28, admin, рубрики: Istio, ITSumma, k8s, kubernetes, архитектура, Блог компании ITSumma, микросервисы, распределенная трассировка, распределенные системы, трассировка
Примечание от нашей редакции переводов: в представляемой статье описывается закрытый продукт конкретной компании и, к сожалению, пока нет никаких данных о том, что его когда-либо планируют открывать — в столлмановском понимании этого слова. Тем не менее, нам показалось очень важным и полезным рассмотреть, как вообще люди подходят к вопросам дебага Istio и как оптимизируют свою работу на этом поле. Возможно, кто-то сможет почерпнуть для себя пару интересных идей.
В какой-то момент, при разработке продакшн-систем на основе микросервисной архитектуры мы пришли к тому, что мониторинга каждого отдельного элемента нашего сервиса недостаточно, чтобы справляться с серьезными проблемами. С течением времени назрела необходимость получать полную картину всего стека вызовов во всем приложении одновременно, причем с подробной информацией о топологии запросов, задержках сети и длительности отдельных команд. Обычно для решения подобной задачи инженеры прибегают к распределенной трассировке.
В этом посте концепция распределенной трассировки будет рассмотрена через призму микросервисной архитектуры: как это все интегрируется и автоматизируется через Istio, а затем весь процесс упрощается и обрабатывается через Backyards — наш сервисный продукт для Istio.
Читать полностью »
Новый проект братьев Дуровых: Telegram Open Network
2019-10-09 в 16:14, admin, рубрики: blockchain, telegram open network, Криптовалюты, распределенные системыПриближается момент полномасштабного запуска самого ожидаемого криптопроекта, который действительно может изменить мир. К началу ноября сеть TON будет запущена и все смогут в полной мере оценить её достоинства и начать использовать по назначению: разработчики — создавать полезные и прибыльные приложения, пользователи — использовать функционал полезных приложений, с лёгкостью оплачивая его, при необходимости.
Уже запущена тестовая сеть и на официальном сайте есть два интересных документа, проливающих свет на то, как будет функционировать этот проект. Это описание TON, 132 страницы (ссылки на страницы в тексте указаны в круглых скобках, (45)) и описание блокчейна, 120 страниц (ссылки на страницы указаны в квадратных скобках, [55]). Виртуальная машина и язык программирования смарт-контрактов в этой статье рассматриваться не будут, кому нужно — разберёт сам, а кто не разберёт — тому не нужно.
Я для вас прочитал и попытался выделить моменты, интересующие простого обывателя (меня), оставив в стороне очень важные, но малопонятные выкладки, формулы и доказательства, все они изложены в первоисточниках выше. Надеюсь, что моё краткое изложение пригодится тем, у кого не нашлось времени или желания самолично изучить эти интереснейшие документы.
Итак, что такое Telegram Open Network (TON)?
Тarantool Cartridge: Sharding Lua Backend in Three Lines
2019-10-09 в 14:32, admin, рубрики: Lua, tarantool, tarantool cartridge, Блог компании Mail.Ru Group, высокая производительность, распределенные системы, Серверная оптимизация
In Mail.ru Group, we have Tarantool, a Lua-based application server and a database united. It's fast and classy, but the resources of a single server are always limited. Vertical scaling is also not the panacea. That is why Tarantool has some tools for horizontal scaling, or the vshard module [1]. It allows you to spread data across multiple servers, but you'll have to tinker with it for a while to configure it and bolt on the business logic.
Good news: we got our share of bumps (for example, [2], [3]) and created another framework, which significantly simplifies the solution to this problem.
Тarantool Cartridge is the new framework for developing complex distributed systems. It allows you to concentrate on writing business logic instead of solving infrastructure problems. Under the cut, I will tell you how this framework works and how it could help in writing distributed services.
Читать полностью »
Эффективное управление подключениями SignalR
2019-10-06 в 13:20, admin, рубрики: .net, signalr core, Разработка веб-сайтов, распределенные системыЗдравствуй, Хабрахабр. В настоящий момент я работаю над созданием движка чата в основе которого лежит библиотека SignalR. Помимо увлекательного процесса погружения в мир real-time приложений пришлось столкнуться и с рядом вызовов технического характера. Об одном из них я и хочу с вами поделиться в этой статье.
Введение
Что такое SignalR — это свое рода фасад над технологиями WebSockets, Long polling, Server-send events. Благодаря этому фасаду можно единообразно работать с любой из этих технологий и не беспокоиться о деталях. Кроме того, благодаря технологии Long polling можно поддерживать клиентов, которые по каким-то причинам не могут работать по веб-сокетам, например IE-8. Фасад представлен высокоуровневым API, работающим по принципу RPC. Кроме того, SignalR предлагает выстраивать коммуникации по принципу «publisher-subscriber» что в терминологии API называется группами. Об этом и пойдет речь далее.
Вызовы
Пожалуй самое интересное в программировании это возможность решать нестандартные задачи. И одну из таких задач мы сегодня обозначим и рассмотрим ее решение.
Читать полностью »
Как сервера договариваются друг с другом: алгоритм распределённого консенсуса Raft
2019-10-04 в 10:01, admin, рубрики: append only, Dodo IS, Dodo Pizza Engineering, dodopizza, raft, Алгоритмы, Анализ и проектирование систем, Блог компании Dodo Pizza Engineering, консенсунс, математика, распределенные системыКогда кластеры достигают размеров в сотни, а иногда и тысячи машин, возникает вопрос о согласованности состояний серверов относительно друг друга. Алгоритм распределённого консенсуса Raft даёт самые строгие гарантии консистентности из возможных. В этой статье мы рассмотрим Raft с точки зрения инженера и постараемся ответить на вопросы «Как?» и «Почему?» он работает.

Как работает децентрализованный мессенджер на блокчейне
2019-09-19 в 14:45, admin, рубрики: e2e шифрование, javascript, telegram, WhatsApp, анонимность, блокчейн, кибербезопасность, Криптовалюты, криптография, мессенжер, приватность, распределенные системы, Системы обмена сообщениямиВ начале 2017 мы начали создавать мессенджер на блокчейне [название и ссылка есть в профиле] с обсуждения преимуществ перед классическими P2P-мессенджерами.
Прошло 2.5 года, и нам удалось подтвердить свой концепт: сейчас доступны приложения мессенджера для iOS, Web PWA, Windows, GNU/Linux, Mac OS и Android.
Сегодня мы расскажем, как устроен мессенджер на блокчейне и как клиентским приложениям работать с его API.

Читать полностью »
Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 3. Kafka
2019-09-14 в 6:53, admin, рубрики: activemq, java, messaging, translation, высокая производительность, Программирование, распределенные системы, Системы обмена сообщениямиПродолжение перевода небольшой книги:
«Understanding Message Brokers»,
автор: Jakub Korab, издательство: O'Reilly Media, Inc., дата издания: June 2017, ISBN: 9781492049296.
Предыдущая переведенная часть: Понимание брокеров сообщений. Изучение механики обмена сообщениями посредством ActiveMQ и Kafka. Глава 1. Введение
Читать полностью »
