Форум программистов, компьютерный форум, киберфорум
Event sourcing
Войти
Регистрация
Восстановить пароль
Старый
Архитектура телеграм-ботов на Python и Феномен 15 миллиардов сообщений (2)
Запись от ArchitectMsa размещена 23.10.2025 в 13:11 / Microservice it all!
Показов 4257 Комментарии 0

Нажмите на изображение для увеличения
Название: Шардинг и горизонтальное масштабирование ботов.jpg
Просмотров: 365
Размер:	179.6 Кб
ID:	11330
Архитектура телеграм-ботов на Python и Феномен 15 миллиардов сообщений (1)

Шардинг и горизонтальное масштабирование ботов



Вертикальное масштабирование упирается в физические границы железа довольно быстро. У меня был момент когда бот обрабатывал 300 тысяч пользователей на сервере с 32 гигами RAM и 16 ядрами....
Аватар для ArchitectMsa
Старый
Архитектура телеграм-ботов на Python и Феномен 15 миллиардов сообщений (1)
Запись от ArchitectMsa размещена 23.10.2025 в 13:05 / Microservice it all!. Обновил(-а) ArchitectMsa 23.10.2025 в 13:11
Показов 4796 Комментарии 0

Нажмите на изображение для увеличения
Название: Архитектура телеграм-ботов на Python и Феномен 15 миллиардов сообщений.jpg
Просмотров: 255
Размер:	209.9 Кб
ID:	11325
Архитектура телеграм-ботов на Python и Феномен 15 миллиардов сообщений (2)

Каждый день через экосистему телеграм-ботов проходит 15 миллиардов сообщений. Не в теории, а прямо сейчас - пока читаешь этот абзац, где-то обрабатывается несколько миллионов запросов. Десять миллионов активных ботов обслуживают миллиард пользователей, и это уже не просто автоответчики с парой команд.

Я помню, как лет пять назад запустил своего первого бота на VPS за 5...
Аватар для ArchitectMsa
Старый
Event-Driven архитектура с Kafka: Outbox Pattern, Exactly-Once и идемпотентные консьюмеры
Запись от ArchitectMsa размещена 09.10.2025 в 21:41 / Microservice it all!
Показов 3570 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven архитектура с Kafka.jpg
Просмотров: 369
Размер:	161.8 Кб
ID:	11274
Представь: твой сервис успешно записал заказ в базу, отправил событие в Kafka, а через секунду всё упало. Заказ есть, событие... может быть есть, а может нет. Или их теперь три копии, потому что продюсер героически ретраился. Склад списал товар дважды, бухгалтерия насчитала...
Аватар для ArchitectMsa
Старый
Go 1.25 - возможности с примерами
Запись от golander размещена 26.09.2025 в 19:56 / go go just go
Показов 3590 Комментарии 0

Нажмите на изображение для увеличения
Название: Go 1.25 - возможности с примерами.jpg
Просмотров: 238
Размер:	108.1 Кб
ID:	11218
Последние несколько лет я постоянно сталкивался с одной и той же проблемой — как выжать максимум производительности из Go без жертвы читабельностью кода. С выходом Go 1.25 эта дилемма, кажется, начинает решаться на уровне самого языка.

Profile-Guided Optimization: из экспериментальной фичи в надежный инструмент



Наконец-то PGO (Profile-Guided Optimization) стабилизирована! Это больше не экспериментальная...
Аватар для golander
Старый
Роль Domain-Driven Design в современных архитектурах
Запись от ArchitectMsa размещена 25.09.2025 в 20:41 / Microservice it all!
Показов 2567 Комментарии 0

Нажмите на изображение для увеличения
Название: Роль Domain-Driven Design в современных архитектурах.jpg
Просмотров: 191
Размер:	253.0 Кб
ID:	11213
Шесть лет назад я впервые столкнулся с тем, что впоследствии стало моим худшим кошмаром — монолитным приложением на два с половиной миллиона строк кода. Десятки разработчиков годами вносили изменения, и система превратилась в неуправляемого монстра. Я помню, как...
Аватар для ArchitectMsa
Старый
Архитектура ПО для разработчиков или Зачем нам системное мышление
Запись от ArchitectMsa размещена 31.08.2025 в 21:49 / Microservice it all!
Показов 4832 Комментарии 0

Нажмите на изображение для увеличения
Название: Архитектура ПО для разработчиков или Зачем нам системное мышление.jpg
Просмотров: 312
Размер:	193.5 Кб
ID:	11090
Давай я расскажу, что происходит в большинстве проектов, с которыми мне приходилось работать. Вначале всё выглядит прекрасно: чистые интерфейсы, продуманные абстракции, явные зависимости. А через полгода код превращается в запутанный клубок спагетти, где любое...
Аватар для ArchitectMsa
Старый
Создание облачных приложений Rust: руководство по архитектуре микросервисов
Запись от golander размещена 19.08.2025 в 21:03 / go go just go
Показов 4578 Комментарии 0

Нажмите на изображение для увеличения
Название: Создание облачных приложений Rust.jpg
Просмотров: 313
Размер:	139.7 Кб
ID:	11059
Когда три года назад передо мной встала задача реинжинирить платформу электронной коммерции с нуля, я долго размышлял над выбором языка. Java показалась слишком прожорливой по памяти, Go - слишком примитивной для сложной бизнес-логики, а вот Rust... Rust заставил меня пересмотреть весь подход к архитектуре распределенных систем.

Зачем Rust для микросервисов в облаке



Честно говоря, первый опыт с Rust был болезненным....
Аватар для golander
Старый
Event-Driven архитектуры в C# - сравнение брокеров и выбор решения
Запись от ArchitectMsa размещена 11.08.2025 в 17:51 / Microservice it all!. Обновил(-а) mik-a-el 11.08.2025 в 18:40
Показов 3715 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven архитектуры в C# - практическое сравнение и выбор решения.jpg
Просмотров: 332
Размер:	155.7 Кб
ID:	11046
Начало: Event-Driven архитектуры в C# - выбираем правильного брокера сообщений

Azure Service Bus - облачное решение от Microsoft



Когда все твои сервисы крутятся в облаке Microsoft, ставить на продакшн самостоятельно настроенную Kafka или RabbitMQ часто становится излишней головной болью. Именно поэтому последние...
Аватар для ArchitectMsa
Старый
Event-Driven архитектуры в C# - выбираем правильного брокера сообщений
Запись от ArchitectMsa размещена 10.08.2025 в 19:39 / Microservice it all!
Показов 4342 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven архитектуры в C# - выбираем правильного посредника сообщений.jpg
Просмотров: 306
Размер:	163.7 Кб
ID:	11045
Недавно я консультировал проект интернет-магазина, где для оформления заказа требовалось последовательно вызывать сервисы: корзины, проверки доступности товаров, расчета доставки, создания заказа, списания средств. Типичная картина! Но что происходило, когда...
Аватар для ArchitectMsa
Старый
Spring Kafka - синхронные и асинхронные запросы
Запись от Javaican размещена 01.08.2025 в 20:30 / Making Java great for ever
Показов 5487 Комментарии 0

Нажмите на изображение для увеличения
Название: Spring Kafka - синхронные и асинхронные запросы.jpg
Просмотров: 343
Размер:	183.8 Кб
ID:	11026
Когда я впервые столкнулся с Apache Kafka, меня поразила его архитектура, заточеная под асинхронное взаимодействие. Этот брокер сообщений, созданный изначально в недрах LinkedIn, а сейчас развиваемый Apache Foundation, проектировался как высокопроизводительная шина для потоковой обработки данных, где сообщения публикуются, хранятся в упорядоченых логах и затем потребляются одним или несколькими получателями.

Введение в Request-Reply паттерн в Kafka


...
Аватар для Javaican
Старый
Паттерн Saga в C#: управление распределенными транзакциями в микросервисной архитектуре
Запись от ArchitectMsa размещена 28.07.2025 в 20:58 / Microservice it all!
Показов 2757 Комментарии 0

Нажмите на изображение для увеличения
Название: C# и реализация Saga для распределеннах транзакций между микросервисами.jpg
Просмотров: 244
Размер:	223.5 Кб
ID:	11016
Как только вы начинаете работать с микросервисами, сразу сталкиваетесь с одной из самых коварных проблем – управлением транзакциями. Как-то на одном из проектов мы с командой чуть не сломали головы, пытаясь обеспечить согласованность данных между сервисами заказов,...
Аватар для ArchitectMsa
Старый
Облачные приложения на Rust: руководство по архитектуре микросервисов
Запись от golander размещена 13.07.2025 в 20:47 / go go just go
Показов 12635 Комментарии 3

Нажмите на изображение для увеличения
Название: Облачные приложения на Rust руководство по архитектуре микросервисов.jpg
Просмотров: 303
Размер:	234.8 Кб
ID:	10979
Когда я впервые взялся за проектирование облачной платформы для одного из наших клиентов, выбор стоял между привычными Go и Java. Но после нескольких месяцев разработки микросервисной системы, которая трещала по швам под нагрузкой, пришлось искать альтернативы. И тут на сцену вышел Rust - язык, который я раньше пробовал только для системного программирования.

Что делает Rust таким привлекательным...
Аватар для golander
Старый
CQRS и Event Sourcing на C#
Запись от ArchitectMsa размещена 25.06.2025 в 19:16 / Microservice it all!
Показов 2742 Комментарии 0

Нажмите на изображение для увеличения
Название: CQRS и Event Sourcing на C#.jpg
Просмотров: 339
Размер:	198.7 Кб
ID:	10926

За последние несколько лет сложность корпоративных приложений выросла в геометрической прогрессии. Простые монолитные системы уступили место распределенным микросервисам, а нагрузка на корпоративные приложения достигла невиданных ранее масштабов. Трациционные...
Аватар для ArchitectMsa
Старый
Мастер-класс по микросервисам на Node.js
Запись от Reangularity размещена 21.06.2025 в 09:24 / Vue/React/Angular/Svelte notes
Показов 8527 Комментарии 0

Нажмите на изображение для увеличения
Название: Мастер-класс по микросервисам на Node.js.jpg
Просмотров: 268
Размер:	115.0 Кб
ID:	10913
Node.js стал одной из самых популярных платформ для микросервисной архитектуры не случайно. Его неблокирующая однопоточная модель и событийно-ориентированный подход делают его идеальным для высоконагруженных систем с интенсивным вводом/выводом. Хотя ранее я скептически относился к JavaScript на сервере, сейчас это мой основной инструмент для построения распределенных систем, обрабатывающих...
Аватар для Reangularity
Старый
Тип Record в C#
Запись от stackOverflow размещена 10.06.2025 в 21:37
Показов 3899 Комментарии 0

Нажмите на изображение для увеличения
Название: Тип Record в C#.jpg
Просмотров: 238
Размер:	190.5 Кб
ID:	10893
Многие годы я разрабатывал приложения на C#, используя классы для всего подряд - и мне это казалось естественным. Но со временем, особенно в крупных проектах, я стал замечать, что простые классы данных создают целый ворох проблем, которые отнимают уйму времени и нервов. Возьмем классический пример класса для передачи данных:

C#
1
2
3
4
public class UserInfo
{
    public string Name { get; set; }
    public string Email { get; set; }
...
Аватар для stackOverflow
Старый
CAP-теорема или почему идеальной распределенной системы не существует
Запись от ArchitectMsa размещена 28.05.2025 в 16:01 / Microservice it all!
Показов 2709 Комментарии 0

Нажмите на изображение для увеличения
Название: 97e95119-0c60-4680-ba0a-152d1b634505.jpg
Просмотров: 275
Размер:	151.9 Кб
ID:	10852
Вы переводите деньги со своего счета на счет друга. Казалось бы, что может быть проще? Вы открываете приложение банка, вводите сумму, жмете кнопку - и деньги мгновенно переходят с одного счета на другой. Но что происходит, если в момент транзакции связь между серверами...
Аватар для ArchitectMsa
Старый
Рейтинг: 5.00. Голосов: 1.
Event-Driven приложения с Apache Kafka и KafkaFlow в .NET
Запись от stackOverflow размещена 26.05.2025 в 20:50
Показов 3501 Комментарии 0

Нажмите на изображение для увеличения
Название: d74997f4-fb96-476a-b5e2-51fedbecd61c.jpg
Просмотров: 376
Размер:	209.7 Кб
ID:	10850
Для .NET разработчиков работа с Kafka традиционно сопряжена с определенными трудностями. Официальный клиент Confluent хорош, но часто требует написания большого количества шаблонного кода. Многие разработчики тратят дни, разбираясь с настройками сериализации — это настоящее...
Аватар для stackOverflow
Старый
.NET Aspire и cloud-native приложения C#
Запись от stackOverflow размещена 24.05.2025 в 20:29
Показов 5160 Комментарии 0

Нажмите на изображение для увеличения
Название: 38db48f6-b687-4c57-b5b7-b827eae9ad9c.jpg
Просмотров: 260
Размер:	209.5 Кб
ID:	10844
.NET Aspire — новый продукт в линейке Microsoft, который вызвал настоящий ажиотаж среди разработчиков облачных приложений. Компания называет его "опинионированным, облачно-ориентированным стеком для создания наблюдаемых, готовых к промышленному использованию распределенных...
Аватар для stackOverflow
Старый
CQRS (Command Query Responsibility Segregation) на Java
Запись от Javaican размещена 12.05.2025 в 12:00 / Making Java great for ever
Показов 4299 Комментарии 0

Нажмите на изображение для увеличения
Название: c2370a0f-4b39-47f6-aec2-ece91799151d.jpg
Просмотров: 186
Размер:	214.5 Кб
ID:	10795
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций изменения данных (команды). Многим эта идея покажется странной – зачем вообще что-то...
Аватар для Javaican
Старый
Делегаты и события C# в лучших практиках Event-Driven программирования
Запись от stackOverflow размещена 08.05.2025 в 15:10
Показов 3200 Комментарии 0

Нажмите на изображение для увеличения
Название: 154184c3-7320-4cd1-90e9-ebfbfa0602b9.jpg
Просмотров: 195
Размер:	167.0 Кб
ID:	10767
Помню, как в 2010-м работал над своим первым крупным проектом на C#. Это была система обработки торговых ордеров, и мой код напоминал спагетти из проверок условий. «Если пришёл запрос — обработай и оповести все зависимые модули». На каждое действие я создавал десятки явных вызовов методов различных...
Аватар для stackOverflow
Старый
Реляционные СУБД и распределенные системы: конфликт архитектур
Запись от Codd размещена 08.05.2025 в 12:24 / Data... Everywhere
Показов 3378 Комментарии 0

Нажмите на изображение для увеличения
Название: 3fb8b97b-0e9a-408b-9ace-68b21bd34d1c.jpg
Просмотров: 207
Размер:	227.9 Кб
ID:	10765
Каждый, кто хоть раз пытался "растянуть" классическую СУБД на несколько серверов, знаком с тем странным ощущением, когда кажется, что система сопротивляется вашим усилиям. И это не просто ощущение — это фундаментальный архитектурный конфликт, заложенный в самой ДНК реляционных баз данных.

Рождение монолита: как реляционные СУБД захватили мир



История реляционных СУБД начинается в 1970 году с публикации знаменитой статьи Эдгара Кодда. В...
Аватар для Codd
Старый
C# и микросервисы: Распределённые системы на .NET
Запись от stackOverflow размещена 02.05.2025 в 11:46
Показов 2756 Комментарии 0

Нажмите на изображение для увеличения
Название: 71e48cb5-9280-474b-85b7-bb50a4c88cc0.jpg
Просмотров: 150
Размер:	194.2 Кб
ID:	10707
Мир разработки ПО стремительно меняется — монолитные приложения уступают место гибким, масштабируемым архитектурам. Микросервисы давно превратились из модного словечка в реальную производственную необходимость, особенно когда дело касается крупных распределённых систем. А платформа .NET, с её мощным C#, предоставляет отличный инструментарий для создания таких систем. Я помню времена, когда мы радостно...
Аватар для stackOverflow
Старый
Шаблоны и протоколы для создания устойчивых микросервисов
Запись от ArchitectMsa размещена 19.04.2025 в 10:06 / Microservice it all!
Показов 3884 Комментарии 0

Нажмите на изображение для увеличения
Название: 24fb8dca-eead-449d-9708-a3005e2dc6b4.jpg
Просмотров: 246
Размер:	139.4 Кб
ID:	10615
Микросервисы — архитектурный подход, разбивающий сложные приложения на небольшие, независимые компоненты. Вместо монолитного гиганта, система превращается в созвездие небольших взаимодействующих сервисов. По своей сути, это как качественно организованный оркестр,...
Аватар для ArchitectMsa
Старый
Построение эффективных запросов в микросервисной архитектуре: Стратегии и практики
Запись от ArchitectMsa размещена 18.04.2025 в 22:20 / Microservice it all!
Показов 3347 Комментарии 0

Нажмите на изображение для увеличения
Название: 42af18b9-cf19-43fd-ac18-0166724d8e59.jpg
Просмотров: 176
Размер:	300.4 Кб
ID:	10612
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает в программной инженерии, решая одни проблемы, мы создаем...
Аватар для ArchitectMsa
Старый
Паттерны распределённых транзакций в Event-Driven микросервисах
Запись от ArchitectMsa размещена 05.04.2025 в 10:53 / Microservice it all!
Показов 3841 Комментарии 0

Нажмите на изображение для увеличения
Название: 08887aca-a43e-46e5-86a7-cf040d1d9b5c.jpg
Просмотров: 212
Размер:	290.1 Кб
ID:	10527
Современные программные системы всё чаще проектируются как совокупность взаимодействующих микросервисов. И хотя такой подход даёт множество преимуществ — масштабируемость, гибкость, устойчивость к отказам отдельных компонентов — он также порождает новый класс...
Аватар для ArchitectMsa
Старый
Архитектурные паттерны микросервисов: ТОП-10 шаблонов
Запись от ArchitectMsa размещена 22.03.2025 в 09:23 / Microservice it all!
Показов 6724 Комментарии 0

Нажмите на изображение для увеличения
Название: de1588d4-9218-4bb3-8cc4-1edd3df04913.jpg
Просмотров: 298
Размер:	170.2 Кб
ID:	10483
Популярность микросервисной архитектуры объясняется множеством важных преимуществ. К примеру, она позволяет командам разработчиков работать независимо друг от друга, используя различные технологии и языки программирования. Компании могут масштабировать отдельные...
Аватар для ArchitectMsa
Старый
Реализация паттерна CQRS с Event Sourcing в PHP
Запись от Jason-Webb размещена 19.03.2025 в 08:11 / Webmastering PHP
Показов 1509 Комментарии 0
Метки cqrs, event sourcing, php

Нажмите на изображение для увеличения
Название: 22b6a19b-e993-4e7a-a742-b3fceb4aa760.jpg
Просмотров: 170
Размер:	170.3 Кб
ID:	10454
CQRS (Command Query Responsibility Segregation) — это архитектурный паттерн, который разделяет операции чтения и записи данных в приложении. Если вы столкнулись с ситуацией, когда ваше PHP-приложение начинает "задыхаться" под нагрузкой, или модель данных стала настолько сложной,...
Аватар для Jason-Webb
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru