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

Нажмите на изображение для увеличения
Название: Шардинг и горизонтальное масштабирование ботов.jpg
Просмотров: 127
Размер:	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
Показов 3367 Комментарии 0

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

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

Я помню, как лет пять назад запустил своего первого бота на VPS за 5...
Аватар для ArchitectMsa
Старый
Go 1.25 - возможности с примерами
Запись от golander размещена 26.09.2025 в 19:56 / go go just go
Показов 2741 Комментарии 0

Нажмите на изображение для увеличения
Название: Go 1.25 - возможности с примерами.jpg
Просмотров: 185
Размер:	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!
Показов 2292 Комментарии 0

Нажмите на изображение для увеличения
Название: Роль Domain-Driven Design в современных архитектурах.jpg
Просмотров: 148
Размер:	253.0 Кб
ID:	11213
Шесть лет назад я впервые столкнулся с тем, что впоследствии стало моим худшим кошмаром — монолитным приложением на два с половиной миллиона строк кода. Десятки разработчиков годами вносили изменения, и система превратилась в неуправляемого монстра. Я помню, как...
Аватар для ArchitectMsa
Старый
Record в C#
Запись от UnmanagedCoder размещена 11.09.2025 в 16:03 / C# .Net and all about
Показов 6442 Комментарии 1

Нажмите на изображение для увеличения
Название: Тип Record в C#.jpg
Просмотров: 315
Размер:	89.8 Кб
ID:	11167
Records в C# - это, по сути, синтаксический сахар над обычными классами и структурами. Но какой же это вкусный сахар! Если говорить совсем просто - это специальный тип данных, разработанный Microsoft для моделирования неизменяемых объектов, которые представляют данные, а не поведение. Вот простейший пример записи:

C#
1
public record Person(string FirstName, string LastName);
Это всё! Одна строчка кода, и у нас...
Аватар для UnmanagedCoder
Старый
Архитектура ПО для разработчиков или Зачем нам системное мышление
Запись от ArchitectMsa размещена 31.08.2025 в 21:49 / Microservice it all!
Показов 4410 Комментарии 0

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

Нажмите на изображение для увеличения
Название: Создание облачных приложений Rust.jpg
Просмотров: 252
Размер:	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
Показов 3192 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven архитектуры в C# - практическое сравнение и выбор решения.jpg
Просмотров: 276
Размер:	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!
Показов 3672 Комментарии 0

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

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

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


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

Нажмите на изображение для увеличения
Название: C# и реализация Saga для распределеннах транзакций между микросервисами.jpg
Просмотров: 170
Размер:	223.5 Кб
ID:	11016
Как только вы начинаете работать с микросервисами, сразу сталкиваетесь с одной из самых коварных проблем – управлением транзакциями. Как-то на одном из проектов мы с командой чуть не сломали головы, пытаясь обеспечить согласованность данных между сервисами заказов,...
Аватар для ArchitectMsa
Старый
Serverless AWS Lambda и C#
Запись от stackOverflow размещена 22.07.2025 в 21:03
Показов 3846 Комментарии 0

Нажмите на изображение для увеличения
Название: Serverless AWS Lambda в C#.jpg
Просмотров: 212
Размер:	105.7 Кб
ID:	11009
AWS Lambda - сервис бессерверных вычислений от Amazon, который в корне меняет подход к созданию бэкенд-систем. За 15 лет работы архитектором я перепробовал множество подходов - от выделенных серверов до контейнеров, но Lambda предлагает нечто принципиально иное. Она полностью...
Аватар для stackOverflow
Старый
Облачные приложения на Rust: руководство по архитектуре микросервисов
Запись от golander размещена 13.07.2025 в 20:47 / go go just go
Показов 12060 Комментарии 3

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

Что делает Rust таким привлекательным...
Аватар для golander
Старый
Создаем микросервисы с Go и Kubernetes
Запись от golander размещена 02.07.2025 в 19:49 / go go just go
Показов 7817 Комментарии 0

Нажмите на изображение для увеличения
Название: Создаем микросервисы с Go и Kubernetes.jpg
Просмотров: 256
Размер:	156.1 Кб
ID:	10950
Когда я только начинал с микросервисами, все спорили о том, какой язык юзать. Сейчас Go (или Golang) фактически захватил эту нишу. И вот почему этот язык настолько заходит для этих задач:
  • Конкурентность в Go — это бомба. Горутины и каналы вшиты в ядро языка, а не приколочены сверху как в других языках. Помню, написал сервис, который легко держал 100к соеденений на средненьком железе. На Java такое без адской настройки и тюнинга нереально
...
Аватар для golander
Старый
CQRS и Event Sourcing на C#
Запись от ArchitectMsa размещена 25.06.2025 в 19:16 / Microservice it all!
Показов 2265 Комментарии 0

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

За последние несколько лет сложность корпоративных приложений выросла в геометрической прогрессии. Простые монолитные системы уступили место распределенным микросервисам, а нагрузка на корпоративные приложения достигла невиданных ранее масштабов. Трациционные...
Аватар для ArchitectMsa
Старый
Архитектура Onion в ASP.NET Core MVC
Запись от stackOverflow размещена 15.06.2025 в 20:24
Показов 4186 Комментарии 0

Нажмите на изображение для увеличения
Название: Архитектура Onion в ASP.NET Core MVC.jpg
Просмотров: 520
Размер:	248.5 Кб
ID:	10904
Что такое эта "луковая" архитектура? Термин предложил Джеффри Палермо (Jeffrey Palermo) в 2008 году, и с тех пор подход только набирал обороты. Суть проста - представьте себе лук с его концентрическими слоями. В центре находится ядро приложения с бизнес-логикой и доменными...
Аватар для stackOverflow
Старый
SSE (Server-Sent Events) в ASP.NET Core и .NET 10
Запись от UnmanagedCoder размещена 13.06.2025 в 17:29 / C# .Net and all about
Показов 3910 Комментарии 0

Нажмите на изображение для увеличения
Название: SSE (Server-Sent Events) в ASP.NET Core и .NET 10.jpg
Просмотров: 236
Размер:	83.6 Кб
ID:	10902
Кажется, Microsoft снова подкинула нам интересную фичу в новой версии фреймворка. Работая с превью .NET 10, я наткнулся на нативную поддержку Server-Sent Events (SSE) в ASP.NET Core Minimal APIs. Эта технология наконец-то получила официальное признание и реализацию в экосистеме .NET, что лично меня очень порадовало.

За последние годы я перепробовал кучу подходов к реализации передачи данных в реальном времени: от примитивного polling до WebSocket и SignalR. И...
Аватар для UnmanagedCoder
Старый
Тип Record в C#
Запись от stackOverflow размещена 10.06.2025 в 21:37
Показов 3533 Комментарии 0

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

C#
1
2
3
4
public class UserInfo
{
    public string Name { get; set; }
    public string Email { get; set; }
...
Аватар для stackOverflow
Старый
Dapper - лучший среди микроORM под C#
Запись от UnmanagedCoder размещена 09.06.2025 в 21:35 / C# .Net and all about
Показов 4382 Комментарии 0

Нажмите на изображение для увеличения
Название: Dapper - лучший среди микроORM под C#.jpg
Просмотров: 237
Размер:	203.9 Кб
ID:	10891
Знаете, в мире ORM-инструментов для .NET существует негласная иерархия. На вершине массивных фреймворков возвышается Entity Framework - неповоротливый, но всемогущий. А в категории легковесных решений уже много лет безраздельно царствует Dapper. И хотя сейчас появилось немало альтернатив, я продолжаю возвращаться к этому инструменту...
Аватар для UnmanagedCoder
Старый
Event-Driven CQRS на C# с паттерном Outbox
Запись от stackOverflow размещена 03.06.2025 в 21:29
Показов 3110 Комментарии 0

Нажмите на изображение для увеличения
Название: Event-Driven CQRS на C# с паттерном Outbox.jpg
Просмотров: 234
Размер:	182.8 Кб
ID:	10871
В традиционной модели происходит примерно следующее: вы получаете команду, обрабатываете ее, сохраняете результат в базу данных и затем пытаетесь опубликовать событие в брокер сообщений. Но что если публикация не удалась? Или что если публикация прошла успешно,...
Аватар для stackOverflow
Старый
CAP-теорема или почему идеальной распределенной системы не существует
Запись от ArchitectMsa размещена 28.05.2025 в 16:01 / Microservice it all!
Показов 2241 Комментарии 0

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

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

Нажмите на изображение для увеличения
Название: 38db48f6-b687-4c57-b5b7-b827eae9ad9c.jpg
Просмотров: 192
Размер:	209.5 Кб
ID:	10844
.NET Aspire — новый продукт в линейке Microsoft, который вызвал настоящий ажиотаж среди разработчиков облачных приложений. Компания называет его "опинионированным, облачно-ориентированным стеком для создания наблюдаемых, готовых к промышленному использованию распределенных...
Аватар для stackOverflow
Старый
Использование Linq2Db в проектах C# .NET
Запись от UnmanagedCoder размещена 21.05.2025 в 11:00 / C# .Net and all about
Показов 5240 Комментарии 0

Нажмите на изображение для увеличения
Название: 1fea0ed5-8c71-41e4-84ab-efd92b648bec.jpg
Просмотров: 202
Размер:	224.2 Кб
ID:	10833
Среди множества претендентов на корону "идеального ORM" особое место занимает Linq2Db — микро-ORM, балансирующий между мощью полноценных инструментов и легковесностью ручного написания SQL.

Что такое микро-ORM? Вообще, это своеобразный подход к объектно-реляционному...
Аватар для UnmanagedCoder
Старый
Реализация Domain-Driven Design с Java
Запись от Javaican размещена 20.05.2025 в 16:14 / Making Java great for ever
Показов 5917 Комментарии 0

Нажмите на изображение для увеличения
Название: d26e961d-15c2-4930-8f07-e9db048f52e3.jpg
Просмотров: 215
Размер:	178.1 Кб
ID:	10831
DDD — это настоящий спасательный круг для проектов со сложной бизнес-логикой. Подход, предложенный Эриком Эвансом, позволяет создавать элегантные решения, которые точно отражают реальную предметную область и могут эволюционировать вместе с ней. Java, со своей строгой типизацией и объектно-ориентированной природой, идеально подходит для воплощения принципов DDD. Однако дьявол,...
Аватар для Javaican
Старый
CQRS (Command Query Responsibility Segregation) на Java
Запись от Javaican размещена 12.05.2025 в 12:00 / Making Java great for ever
Показов 4147 Комментарии 0

Нажмите на изображение для увеличения
Название: c2370a0f-4b39-47f6-aec2-ece91799151d.jpg
Просмотров: 155
Размер:	214.5 Кб
ID:	10795
CQRS — Command Query Responsibility Segregation, или разделение ответственности команд и запросов. Суть этого архитектурного паттерна проста: операции чтения данных (запросы) отделяются от операций изменения данных (команды). Многим эта идея покажется странной – зачем вообще что-то...
Аватар для Javaican
Старый
Реляционные СУБД и распределенные системы: конфликт архитектур
Запись от Codd размещена 08.05.2025 в 12:24 / Data... Everywhere
Показов 3097 Комментарии 0

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

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



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

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

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

Нажмите на изображение для увеличения
Название: 42af18b9-cf19-43fd-ac18-0166724d8e59.jpg
Просмотров: 144
Размер:	300.4 Кб
ID:	10612
Микросервисная архитектура принесла с собой много преимуществ — возможность независимого масштабирования сервисов, технологическую гибкость и четкое разграничение ответственности. Но как часто бывает в программной инженерии, решая одни проблемы, мы создаем...
Аватар для ArchitectMsa
Новые блоги и статьи
И решил я переделать этот ноут в машину для распределенных вычислений
Programma_Boinc 09.11.2025
И решил я переделать этот ноут в машину для распределенных вычислений Всем привет. А вот мой компьютер, переделанный из ноутбука. Был у меня ноут асус 2011 года. Со временем корпус превратился. . .
Мысли в слух
kumehtar 07.11.2025
Заметил среди людей, что по-настоящему верная дружба бывает между теми, с кем нечего делить.
Новая зверюга
volvo 07.11.2025
Подарок на Хеллоуин, и теперь у нас кроме Tuxedo Cat есть еще и щенок далматинца: Хочу еще Симбу взять, очень нравится. . .
Инференс ML моделей в Java: TensorFlow, DL4J и DJL
Javaican 05.11.2025
Python захватил мир машинного обучения - это факт. Но когда дело доходит до продакшена, ситуация не так однозначна. Помню проект в крупном банке три года назад: команда data science натренировала. . .
Mapped types (отображённые типы) в TypeScript
Reangularity 03.11.2025
Mapped types работают как конвейер - берут существующую структуру и производят новую по заданным правилам. Меняют модификаторы свойств, трансформируют значения, фильтруют ключи. Один раз описал. . .
Адаптивная случайность в Unity: динамические вероятности для улучшения игрового дизайна
GameUnited 02.11.2025
Мой знакомый геймдизайнер потерял двадцать процентов активной аудитории за неделю. А виновником оказался обычный генератор псевдослучайных чисел. Казалось бы - добавил в карточную игру случайное. . .
Протоколы в Python
py-thonny 31.10.2025
Традиционная утиная типизация работает просто: попробовал вызвать метод, получилось - отлично, не получилось - упал с ошибкой в рантайме. Протоколы добавляют сюда проверку на этапе статического. . .
C++26: Read-copy-update (RCU)
bytestream 30.10.2025
Прошло почти двадцать лет с тех пор, как производители процессоров отказались от гонки мегагерц и перешли на многоядерность. И знаете что? Мы до сих пор спотыкаемся о те же грабли. Каждый раз, когда. . .
Изображения webp на старых x32 ОС Windows XP и Windows 7
Argus19 30.10.2025
Изображения webp на старых x32 ОС Windows XP и Windows 7 Чтобы решить задачу, использовал интернет: поисковики Google и Yandex, а также подсказки Deep Seek. Как оказалось, чтобы создать. . .
Passkey в ASP.NET Core identity
stackOverflow 29.10.2025
Пароли мертвы. Нет, серьезно - я повторяю это уже лет пять, но теперь впервые за это время чувствую, что это не просто красивые слова. В . NET 10 команда Microsoft внедрила поддержку Passkey прямо в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru