По данным hh_ru, за первые 8 месяцев 2025 г. было открыто 88 тыс. вакансий для программистов и размещено 445 тыс. резюме
На 1 вакансию приходится 14 активных резюме. Наибольшая конкуренция – среди джунов: 18,6 резюме на 1 вакансию, у мидлов – 14,7 резюме. У сеньоров – лишь 3 резюме на 1 вакансию
В 2025 г. в вакансиях чаще стал упоминаться 1С – он оказался в тройке самых востребованных наряду PostgreSQL и Git. Но спецов по нему нет
47% всех открытых вакансий за 8 месяцев 2025 г. - в Москве. СПБ на 2-м месте с 13%. За ним - Свердловская и Новосибирская области и Татарстан - по 3% от общего числа вакансий
Хуже всего в ХМАО – зафиксировано 40 резюме на 1 вакансию. На 2 месте – Ставропольский край с результатом 38,1. У Оренбургской области – 28,9 резюме на 1 вакансию, у Ульяновской области – 28,1
Наилучшая ситуация в МСК – 10,3 резюме на 1 вакансию, в СПБ – 13,3, в Свердловской и Новосибирской областях – 11,5 и 12,4 резюме на вакансию
https://www.cnews.ru/news/top/2025-09-11_v_rossii_ostryj_defitsit_opytnyh
На 1 вакансию приходится 14 активных резюме. Наибольшая конкуренция – среди джунов: 18,6 резюме на 1 вакансию, у мидлов – 14,7 резюме. У сеньоров – лишь 3 резюме на 1 вакансию
В 2025 г. в вакансиях чаще стал упоминаться 1С – он оказался в тройке самых востребованных наряду PostgreSQL и Git. Но спецов по нему нет
47% всех открытых вакансий за 8 месяцев 2025 г. - в Москве. СПБ на 2-м месте с 13%. За ним - Свердловская и Новосибирская области и Татарстан - по 3% от общего числа вакансий
Хуже всего в ХМАО – зафиксировано 40 резюме на 1 вакансию. На 2 месте – Ставропольский край с результатом 38,1. У Оренбургской области – 28,9 резюме на 1 вакансию, у Ульяновской области – 28,1
Наилучшая ситуация в МСК – 10,3 резюме на 1 вакансию, в СПБ – 13,3, в Свердловской и Новосибирской областях – 11,5 и 12,4 резюме на вакансию
https://www.cnews.ru/news/top/2025-09-11_v_rossii_ostryj_defitsit_opytnyh
👍8🤔8🤮3👏2😁2😨2❤1
Microsoft разрешила разработчикам публиковать приложения для Windows в Microsoft Store без комиссии. Теперь разработчики получили возможность отправлять в магазин приложения Win32 (включая .NET WPF и WinForms), UWP, PWA, .NET MAUI и Electron без уплаты каких-либо регистрационных сборов.
Также Microsoft возьмёт на себя хостинг и подписание каждого приложения, избавив разработчиков от необходимости платить за эти услуги.
Компания предлагает упаковать приложение в MSIX, чтобы разместить исполняемый файл в инфраструктуре, а Microsoft возьмёт на себя оплату распространения, поэтому разработчикам не нужно настраивать собственную CDN. Microsoft бесплатно подпишет отправленное приложение, чтобы повысить доверие и безопасность, а Windows будет автоматически устанавливать обновления.
Разработчики неигровых приложений для Windows смогут развернуть собственную систему внутренних платежей, чтобы получать весь доход.
Для отправки приложения нужно иметь учётную запись Microsoft и следовать инструкциям нового интерфейса. Однако перед публикацией приложения разработчикам необходимо подтвердить свою личность, отсканировав действительное удостоверение личности государственного образца и сделав селфи.
https://blogs.windows.com/windowsdeveloper/2025/09/10/free-developer-registration-for-individual-developers-on-microsoft-store/
Также Microsoft возьмёт на себя хостинг и подписание каждого приложения, избавив разработчиков от необходимости платить за эти услуги.
Компания предлагает упаковать приложение в MSIX, чтобы разместить исполняемый файл в инфраструктуре, а Microsoft возьмёт на себя оплату распространения, поэтому разработчикам не нужно настраивать собственную CDN. Microsoft бесплатно подпишет отправленное приложение, чтобы повысить доверие и безопасность, а Windows будет автоматически устанавливать обновления.
Разработчики неигровых приложений для Windows смогут развернуть собственную систему внутренних платежей, чтобы получать весь доход.
Для отправки приложения нужно иметь учётную запись Microsoft и следовать инструкциям нового интерфейса. Однако перед публикацией приложения разработчикам необходимо подтвердить свою личность, отсканировав действительное удостоверение личности государственного образца и сделав селфи.
https://blogs.windows.com/windowsdeveloper/2025/09/10/free-developer-registration-for-individual-developers-on-microsoft-store/
Windows Developer Blog
Free developer registration for individual developers on Microsoft Store
We’re excited to share that individual developers can now publish apps to the Microsoft Store without paying any onboarding fees — and this new experience is now globally available in nearly 200 markets worldwide. Developers will no longer need a
❤32🔥10👍9
В Албании назначили первого в мире «неподкупного ИИ-министра»
Модель на базе искусственного интеллекта будет использоваться в Албании в качестве «ИИ-министра» по имени «Диелла». Первый в мире ИИ-министр будет отвечать за госзакупки
Премьер-министр Эди Рама заявил, что «Диелла» будет заниматься гостендерами, в рамках которых правительство заключает контракты с частными компаниями. В результате госзакупки будут «защищены от коррупции».
https://www.rbc.ru/politics/11/09/2025/68c30edf9a7947eb7aea850b?from=newsfeed
Модель на базе искусственного интеллекта будет использоваться в Албании в качестве «ИИ-министра» по имени «Диелла». Первый в мире ИИ-министр будет отвечать за госзакупки
Премьер-министр Эди Рама заявил, что «Диелла» будет заниматься гостендерами, в рамках которых правительство заключает контракты с частными компаниями. В результате госзакупки будут «защищены от коррупции».
https://www.rbc.ru/politics/11/09/2025/68c30edf9a7947eb7aea850b?from=newsfeed
РБК
В Албании назначили первого в мире «неподкупного ИИ-министра»
Модель на базе искусственного интеллекта будет использоваться в Албании в качестве ИИ-министра по имени Диелла (diella в переводе с албанского солнце , имя женское). Первый в мире ИИ-министр будет ...
😁28🤡25🥴4👍3🔥1
### Что такое MQTT?
(продолжение предыдущего поста)
MQTT (первоначально «Message Queuing Telemetry Transport» — транспорт телеметрии с очередями сообщений) — это:
* Лёгковесный протокол обмена сообщениями по принципу «публикация-подписка».
* Разработан для быстрой, эффективной и надёжной коммуникации между устройствами, особенно в условиях ограниченной пропускной способности и высокой задержки.
* Использует брокер, который маршрутизирует сообщения от издателей (устройств, отправляющих данные) к подписчикам (устройствам или приложениям, заинтересованным в этих данных), при этом им не нужно знать друг о друге.
### История развития
Создан в 1999 году Энди Стэнфорд-Кларком (IBM) и Арленом Ниппером (Arcom) для мониторинга нефтяных трубопроводов через ненадёжные спутниковые каналы связи.
Основная цель — минимальное использование пропускной способности и энергопотребления.
* В 2010 году IBM выпустила MQTT 3.1 как открытый протокол.
* Стандартизирован OASIS в 2013 году.
* MQTT 5 выпущен в 2019 году.
На сегодняшний день MQTT является фактическим стандартом для обмена сообщениями в IoT и широко применяется в различных отраслях.
### Примеры практического применения
Умная домашняя автоматизация:
* Умный термостат отправляет данные о температуре брокеру MQTT.
* Умные светильники или системы HVAC подписываются на эти данные и автоматически регулируют настройки.
* Владельцы домов могут управлять всеми устройствами и отслеживать их работу через единое приложение.
Другие важные области применения:
* Промышленный интернет вещей.
* Управление автопарками.
* Умные электросети.
* Здравоохранение (удаленный мониторинг).
* Сельское хозяйство.
* Логистика.
(продолжение предыдущего поста)
MQTT (первоначально «Message Queuing Telemetry Transport» — транспорт телеметрии с очередями сообщений) — это:
* Лёгковесный протокол обмена сообщениями по принципу «публикация-подписка».
* Разработан для быстрой, эффективной и надёжной коммуникации между устройствами, особенно в условиях ограниченной пропускной способности и высокой задержки.
* Использует брокер, который маршрутизирует сообщения от издателей (устройств, отправляющих данные) к подписчикам (устройствам или приложениям, заинтересованным в этих данных), при этом им не нужно знать друг о друге.
### История развития
Создан в 1999 году Энди Стэнфорд-Кларком (IBM) и Арленом Ниппером (Arcom) для мониторинга нефтяных трубопроводов через ненадёжные спутниковые каналы связи.
Основная цель — минимальное использование пропускной способности и энергопотребления.
* В 2010 году IBM выпустила MQTT 3.1 как открытый протокол.
* Стандартизирован OASIS в 2013 году.
* MQTT 5 выпущен в 2019 году.
На сегодняшний день MQTT является фактическим стандартом для обмена сообщениями в IoT и широко применяется в различных отраслях.
### Примеры практического применения
Умная домашняя автоматизация:
* Умный термостат отправляет данные о температуре брокеру MQTT.
* Умные светильники или системы HVAC подписываются на эти данные и автоматически регулируют настройки.
* Владельцы домов могут управлять всеми устройствами и отслеживать их работу через единое приложение.
Другие важные области применения:
* Промышленный интернет вещей.
* Управление автопарками.
* Умные электросети.
* Здравоохранение (удаленный мониторинг).
* Сельское хозяйство.
* Логистика.
Telegram
METANIT.COM
Что такое MQTT?
(продолжение в следующем посте)
(продолжение в следующем посте)
❤5👍4🔥2
Oracle сократила команду разработки открытой СУБД MySQL на 70 человек. Оставшихся ее членов американская корпорация объединила с разработчиками, работающими над облачным коммерческим продуктом на базе MySQL - Heatwave.
Стоявшие у истоков MySQL специалисты опасаются, что это может означать скорый конец открытой СУБД.
https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job/
Стоявшие у истоков MySQL специалисты опасаются, что это может означать скорый конец открытой СУБД.
https://www.theregister.com/2025/09/11/oracle_slammed_for_mysql_job/
The Register
Monty Widenius 'heartbroken' at the extent of Oracle's MySQL job cuts
: Original author of open source database 'not surprised' but 'saddened' as critics slam vendor's layoffs
👎19😭12😱7🤯3🤬1
Шпаргалка по LVM (Logical Volume Manager) - системе управления томами в Linux.
(продолжение в следующем посте)
(продолжение в следующем посте)
👍4🔥2👏1
Шпаргалка по LVM (Logical Volume Manager)
(продолжение предыдущего поста)
LVM (Logical Volume Manager) в Linux позволяет гибко управлять дисковым пространством, добавлять или удалять диски, изменять размеры томов и обеспечивать резервное копирование данных. Ее основные элементы:
- **Файловая система: Это верхний уровень структуры, где размещаются данные. Примеры файловых систем включают
- Логические тома: Это абстрактные блоки хранения, которые создаются внутри групп томов. Примеры логических томов включают
- Группы томов: Объединяют физические тома в единое пространство хранения. Примеры групп томов:
- Физические тома: Это разделы или целые диски, которые используются для создания логических томов. Примеры физических томов:
- Разделы: Это физические разделы на дисках, которые используются для создания физических томов. Примеры разделов:
- Диски: Это физические устройства хранения данных, такие как жёсткие диски или SSD. На изображении показаны четыре диска, которые могут быть использованы для создания физических томов.
#linux
(продолжение предыдущего поста)
LVM (Logical Volume Manager) в Linux позволяет гибко управлять дисковым пространством, добавлять или удалять диски, изменять размеры томов и обеспечивать резервное копирование данных. Ее основные элементы:
- **Файловая система: Это верхний уровень структуры, где размещаются данные. Примеры файловых систем включают
/home, / и /mnt/backups. Эти файловые системы форматируются в определённый тип (например, ext4, xfs) и монтируются в соответствующих точках.- Логические тома: Это абстрактные блоки хранения, которые создаются внутри групп томов. Примеры логических томов включают
lv_home, lv_root и lv_backups. Они могут быть увеличены или уменьшены в размере без остановки системы.- Группы томов: Объединяют физические тома в единое пространство хранения. Примеры групп томов:
vg_system и vg_others. Группа томов позволяет гибко управлять дисковым пространством.- Физические тома: Это разделы или целые диски, которые используются для создания логических томов. Примеры физических томов:
/dev/vda1, /dev/vda2, /dev/vda3, /dev/vda4 и /dev/vda5. Они могут быть объединены в группы томов для создания единого пространства хранения.- Разделы: Это физические разделы на дисках, которые используются для создания физических томов. Примеры разделов:
/dev/vda1 и /dev/vda2.- Диски: Это физические устройства хранения данных, такие как жёсткие диски или SSD. На изображении показаны четыре диска, которые могут быть использованы для создания физических томов.
#linux
Telegram
METANIT.COM
Шпаргалка по LVM (Logical Volume Manager) - системе управления томами в Linux.
(продолжение в следующем посте)
(продолжение в следующем посте)
👍2🔥2👏1
Как работают логирование и мониторинг (стек ELK, Prometheus, Grafana)
(описание в следующем посте)
(описание в следующем посте)
❤3👍2🔥2🥰2
### Логирование и мониторинг (стек ELK, Prometheus, Grafana)
(продолжение предыдущего поста)
Что такое логирование и мониторинг?
* Логирование фиксирует, что происходило в вашей системе (ошибки, запросы, события).
* Мониторинг отслеживает состояние системы в режиме реального времени (CPU, память, трафик, время безотказной работы).
* Вместе они помогают выявлять проблемы, улучшать производительность и обеспечивать надёжность.
### стек ELK (Elasticsearch, Logstash, Kibana)
* Elasticsearch — эффективное хранение и поиск логов.
* Logstash — сбор, обработка и отправка логов.
* Kibana — визуализация логов на информационных панелях и графиках.
* Пример использования — централизованное управление логами и устранение неполадок.
### Prometheus (Сбор метрик)
* Собирает системные метрики и метрики приложений (использование CPU, память, задержка запросов).
* Хранит данные временных рядов для анализа.
* Отправляет оповещения, когда метрики превышают заданные пороги.
### Grafana (Визуализация и информационные панели)
* Взаимодействует с Prometheus и другими источниками данных.
* Создаёт интерактивные информационные панели для отслеживания производительности системы и тенденций.
* Помогает командам отслеживать время безотказной работы, сбои и использование ресурсов.
### Push- и Pull-мониторинг
Push-мониторинг
* Системы отправляют (push) свои метрики на сервер мониторинга.
* Хорошо подходит для динамичных сред (например, IoT-устройства, мобильные приложения).
* Риск: сервер мониторинга может быть перегружен входящими данными.
Pull-мониторинг
* Сервер мониторинга запрашивает (pull) метрики у систем через определённые интервалы.
* Prometheus следует этой модели — извлекает метрики из конечных точек.
* Преимущества: более простой контроль, предотвращение перегрузки, обеспечение согласованности.
* Ограничение: не идеален для систем, которые не всегда доступны.
### Аналогия
* Логирование — камеры видеонаблюдения, записывающие события в здании.
* Мониторинг — охранники, наблюдающие за экранами в режиме реального времени.
* Push-подход — охранники получают телефонные звонки из каждой комнаты о происходящем.
* Pull-подход — охранники сами обходят каждую комнату для проверки.
(продолжение предыдущего поста)
Что такое логирование и мониторинг?
* Логирование фиксирует, что происходило в вашей системе (ошибки, запросы, события).
* Мониторинг отслеживает состояние системы в режиме реального времени (CPU, память, трафик, время безотказной работы).
* Вместе они помогают выявлять проблемы, улучшать производительность и обеспечивать надёжность.
### стек ELK (Elasticsearch, Logstash, Kibana)
* Elasticsearch — эффективное хранение и поиск логов.
* Logstash — сбор, обработка и отправка логов.
* Kibana — визуализация логов на информационных панелях и графиках.
* Пример использования — централизованное управление логами и устранение неполадок.
### Prometheus (Сбор метрик)
* Собирает системные метрики и метрики приложений (использование CPU, память, задержка запросов).
* Хранит данные временных рядов для анализа.
* Отправляет оповещения, когда метрики превышают заданные пороги.
### Grafana (Визуализация и информационные панели)
* Взаимодействует с Prometheus и другими источниками данных.
* Создаёт интерактивные информационные панели для отслеживания производительности системы и тенденций.
* Помогает командам отслеживать время безотказной работы, сбои и использование ресурсов.
### Push- и Pull-мониторинг
Push-мониторинг
* Системы отправляют (push) свои метрики на сервер мониторинга.
* Хорошо подходит для динамичных сред (например, IoT-устройства, мобильные приложения).
* Риск: сервер мониторинга может быть перегружен входящими данными.
Pull-мониторинг
* Сервер мониторинга запрашивает (pull) метрики у систем через определённые интервалы.
* Prometheus следует этой модели — извлекает метрики из конечных точек.
* Преимущества: более простой контроль, предотвращение перегрузки, обеспечение согласованности.
* Ограничение: не идеален для систем, которые не всегда доступны.
### Аналогия
* Логирование — камеры видеонаблюдения, записывающие события в здании.
* Мониторинг — охранники, наблюдающие за экранами в режиме реального времени.
* Push-подход — охранники получают телефонные звонки из каждой комнаты о происходящем.
* Pull-подход — охранники сами обходят каждую комнату для проверки.
Telegram
METANIT.COM
Как работают логирование и мониторинг (стек ELK, Prometheus, Grafana)
(описание в следующем посте)
(описание в следующем посте)
🔥7❤4🥰2🕊1
Фрилансеры и даже целые компании начали зарабатывать на исправлении ошибок в программном обеспечении, созданном вайб-кодерами. Так, в 404Media обратили внимание на то, что в LinkedIn появились профили «специалистов по очистке вайб-кода».
«Я предлагаю услуги по исправлению вайб-кода уже около двух лет, начиная с конца 2023 года. Сейчас я регулярно работаю примерно с 15-20 клиентами, а также выполняю разовые проекты в течение года», — написал один из таких разработчиков по имени Хамид Сиддики. По его словам, «всё больше разработчиков и небольших команд испытывают трудности с улучшением кода, сгенерированного ИИ, который был функциональным, но не обладал необходимой “отшлифованностью” или “атмосферой”, чтобы соответствовать их видению».
Он рассказал, что распространённые проблемы, которые он исправляет в проектах, включают несогласованный UI/UX-дизайн в интерфейсах, сгенерированных ИИ, плохо оптимизированный код, влияющий на производительность, неровно расположенные элементы брендинга и функции, которые работают, но кажутся неуклюжими или неинтуитивными. Он также поделился, что часто дорабатывает цветовые схемы, анимацию и макеты.
Кроме того, компании по разработке программного обеспечения, например, Ulam Labs. Как говорится на сайте этой компании:
«Создали что-то быстро? Теперь пора сделать это надёжным. Мы знаем, как это бывает. Нужно было действовать быстро, выпустить MVP [минимально жизнеспособный продукт] и проверить идею. Но теперь технический долг сдерживает: отсутствие тестов, шаткая архитектура, CI/CD [непрерывная интеграция и непрерывная поставка/развёртывание] — это просто мечта, а каждое изменение ощущается как обезвреживание бомбы. Вот тут-то и появляемся мы»
Сватантра Сохни, создатель сайта для авторов проектов вайб-кодинга, которым нужна помощь опытных разработчиков, говорит, что почти 300 профессионалов уже разместили свои профили на площадке.
По его мнению, большинство этих вайб-кодеров — либо менеджеры по продукту, либо продавцы, либо владельцы малого бизнеса, и они думают, что могут что-то создать. Однако они могут создать лишь прототипы, а для доведения до ума нужны опытные разработчики
Ещё одна серьёзная проблема, которую обозначил разработчик — это «прожигание кредитов», то есть деньги, которые вайб-кодеры тратят на оплату использования ИИ при добавлении новых функций, нарушающих работу существующих.
https://www.404media.co/the-software-engineers-paid-to-fix-vibe-coded-messes/
«Я предлагаю услуги по исправлению вайб-кода уже около двух лет, начиная с конца 2023 года. Сейчас я регулярно работаю примерно с 15-20 клиентами, а также выполняю разовые проекты в течение года», — написал один из таких разработчиков по имени Хамид Сиддики. По его словам, «всё больше разработчиков и небольших команд испытывают трудности с улучшением кода, сгенерированного ИИ, который был функциональным, но не обладал необходимой “отшлифованностью” или “атмосферой”, чтобы соответствовать их видению».
Он рассказал, что распространённые проблемы, которые он исправляет в проектах, включают несогласованный UI/UX-дизайн в интерфейсах, сгенерированных ИИ, плохо оптимизированный код, влияющий на производительность, неровно расположенные элементы брендинга и функции, которые работают, но кажутся неуклюжими или неинтуитивными. Он также поделился, что часто дорабатывает цветовые схемы, анимацию и макеты.
Кроме того, компании по разработке программного обеспечения, например, Ulam Labs. Как говорится на сайте этой компании:
«Создали что-то быстро? Теперь пора сделать это надёжным. Мы знаем, как это бывает. Нужно было действовать быстро, выпустить MVP [минимально жизнеспособный продукт] и проверить идею. Но теперь технический долг сдерживает: отсутствие тестов, шаткая архитектура, CI/CD [непрерывная интеграция и непрерывная поставка/развёртывание] — это просто мечта, а каждое изменение ощущается как обезвреживание бомбы. Вот тут-то и появляемся мы»
Сватантра Сохни, создатель сайта для авторов проектов вайб-кодинга, которым нужна помощь опытных разработчиков, говорит, что почти 300 профессионалов уже разместили свои профили на площадке.
По его мнению, большинство этих вайб-кодеров — либо менеджеры по продукту, либо продавцы, либо владельцы малого бизнеса, и они думают, что могут что-то создать. Однако они могут создать лишь прототипы, а для доведения до ума нужны опытные разработчики
Ещё одна серьёзная проблема, которую обозначил разработчик — это «прожигание кредитов», то есть деньги, которые вайб-кодеры тратят на оплату использования ИИ при добавлении новых функций, нарушающих работу существующих.
https://www.404media.co/the-software-engineers-paid-to-fix-vibe-coded-messes/
404 Media
The Software Engineers Paid to Fix Vibe Coded Messes
Linkedin has been joking about “vibe coding cleanup specialists,” but it’s actually a growing profession.
😁31🤡4
Различные архитектурные паттерны:
(описание к предыдущему посту)
1. Client-Server Architecture (Клиент-серверная архитектура)
Эта архитектура основана на взаимодействии между клиентом и сервером. Клиент отправляет запросы, а сервер обрабатывает их и возвращает результаты. Включает компоненты, такие как балансировщик нагрузки, CDN и серверы.
2. Layered Architecture (Многоуровневая архитектура)
Система разделена на уровни:
- Presentation Layer (Уровень представления) — отвечает за взаимодействие с пользователем.
- Business Logic Layer (Уровень бизнес-логики) — обрабатывает логику приложения.
- Data Access Layer (Уровень доступа к данным) — взаимодействует с базами данных.
3. Pipes and Filter (Трубы и фильтры)
Данные проходят через серию фильтров, каждый из которых выполняет определенную операцию. Это позволяет обрабатывать данные поэтапно.
4. Domain Driven Design (Проектирование, управляемое доменом)
Подход, при котором архитектура строится вокруг бизнес-домена. Включает контексты, такие как Catalog Context, Order Context, Fulfillment Context и Billing Context.
5. Monolithic Architecture (Монолитная архитектура)
Все компоненты приложения объединены в единое целое. Это упрощает разработку, но усложняет масштабирование.
6. Microservices Architecture (Микросервисная архитектура)
Приложение разбивается на независимые сервисы, которые взаимодействуют друг с другом. Это повышает гибкость и масштабируемость.
7. Event-Driven Architecture (Архитектура, управляемая событиями)
Компоненты взаимодействуют через события. Производитель создает события, а потребители реагируют на них.
8. Serverless Architecture (Бессерверная архитектура)
Приложения работают на серверах, предоставляемых облачными провайдерами. Разработчики не управляют инфраструктурой.
9. Stream Processing (Обработка потоков)
Потоки данных обрабатываются в реальном времени с использованием таких инструментов, как Lambda и Stream Processing Engine.
(описание к предыдущему посту)
1. Client-Server Architecture (Клиент-серверная архитектура)
Эта архитектура основана на взаимодействии между клиентом и сервером. Клиент отправляет запросы, а сервер обрабатывает их и возвращает результаты. Включает компоненты, такие как балансировщик нагрузки, CDN и серверы.
2. Layered Architecture (Многоуровневая архитектура)
Система разделена на уровни:
- Presentation Layer (Уровень представления) — отвечает за взаимодействие с пользователем.
- Business Logic Layer (Уровень бизнес-логики) — обрабатывает логику приложения.
- Data Access Layer (Уровень доступа к данным) — взаимодействует с базами данных.
3. Pipes and Filter (Трубы и фильтры)
Данные проходят через серию фильтров, каждый из которых выполняет определенную операцию. Это позволяет обрабатывать данные поэтапно.
4. Domain Driven Design (Проектирование, управляемое доменом)
Подход, при котором архитектура строится вокруг бизнес-домена. Включает контексты, такие как Catalog Context, Order Context, Fulfillment Context и Billing Context.
5. Monolithic Architecture (Монолитная архитектура)
Все компоненты приложения объединены в единое целое. Это упрощает разработку, но усложняет масштабирование.
6. Microservices Architecture (Микросервисная архитектура)
Приложение разбивается на независимые сервисы, которые взаимодействуют друг с другом. Это повышает гибкость и масштабируемость.
7. Event-Driven Architecture (Архитектура, управляемая событиями)
Компоненты взаимодействуют через события. Производитель создает события, а потребители реагируют на них.
8. Serverless Architecture (Бессерверная архитектура)
Приложения работают на серверах, предоставляемых облачными провайдерами. Разработчики не управляют инфраструктурой.
9. Stream Processing (Обработка потоков)
Потоки данных обрабатываются в реальном времени с использованием таких инструментов, как Lambda и Stream Processing Engine.
Telegram
METANIT.COM
Различные архитектурные паттерны
👍9🔥3❤1🥰1
Шпаргалка по использованию очередей
(описание к предыдущему посту)
За каждой масштабируемой системой стоит очередь.
За каждым сбоем стоит неправильно использованная очередь.
Очереди встречаются повсюду: фоновые задачи, потоки событий, брокеры сообщений. Они являются основой масштабируемых систем, но также являются частой причиной сбоев.
Основные определения:
1. Очередь — структура данных или система для хранения задач/сообщений в порядке FIFO (First-In-First-Out — «первым пришёл — первым ушёл»).
2. Производитель — компонент, отправляющий сообщения в очередь.
3. Потребитель — компонент, считывающий и обрабатывающий сообщения из очереди.
4. Брокер — промежуточное ПО, управляющее очередями (например, RabbitMQ, Kafka, SQS).
5. Подтверждение (ACK) — сигнал об успешной обработке сообщения.
6. Очередь недоставленных сообщений (Dead Letter Queue / DLQ) — очередь для неудачных/необрабатываемых сообщений.
7. Идемпотентность — гарантия того, что повторная обработка сообщения не создаст дублирующихся побочных эффектов.
8. Тайм-аут видимости — время, в течение которого сообщение невидимо для других во время обработки.
Лучшие практики и подводные камни:
* Используйте идемпотентных потребителей → предотвращает двойную обработку.
* Определите политики повторных попыток (экспоненциальное отступление, максимальное количество попыток).
* Отслеживайте длину очереди и отставание в обработке как индикаторы работоспособности.
* Используйте очереди недоставленных сообщений для неудачных сообщений.
* Обеспечьте упорядоченность сообщений только в случае бизнес-критичности (упорядочивание увеличивает затраты/сложность).
* Делайте сообщения небольшими и самодостаточными.
* Всегда включайте идентификаторы корреляции для отслеживания.
Рекомендации по производительности:
* Для пропускной способности → параллельные потребители или разделы
* Для надёжности → сохраняйте, если критично (компромисс: скорость)
* Для масштабируемости → автоматическое масштабирование потребителей
Паттерны:
* Рабочая очередь (Work Queue) → распределение задач между работниками
* Pub/Sub → трансляция для множества подписчиков
* Отложенная очередь (Delayed Queue) → повторная попытка позже или планирование задач
* Очередь приоритетов (Priority Queue) → обработка срочных задач в первую очередь
(описание к предыдущему посту)
За каждой масштабируемой системой стоит очередь.
За каждым сбоем стоит неправильно использованная очередь.
Очереди встречаются повсюду: фоновые задачи, потоки событий, брокеры сообщений. Они являются основой масштабируемых систем, но также являются частой причиной сбоев.
Основные определения:
1. Очередь — структура данных или система для хранения задач/сообщений в порядке FIFO (First-In-First-Out — «первым пришёл — первым ушёл»).
2. Производитель — компонент, отправляющий сообщения в очередь.
3. Потребитель — компонент, считывающий и обрабатывающий сообщения из очереди.
4. Брокер — промежуточное ПО, управляющее очередями (например, RabbitMQ, Kafka, SQS).
5. Подтверждение (ACK) — сигнал об успешной обработке сообщения.
6. Очередь недоставленных сообщений (Dead Letter Queue / DLQ) — очередь для неудачных/необрабатываемых сообщений.
7. Идемпотентность — гарантия того, что повторная обработка сообщения не создаст дублирующихся побочных эффектов.
8. Тайм-аут видимости — время, в течение которого сообщение невидимо для других во время обработки.
Лучшие практики и подводные камни:
* Используйте идемпотентных потребителей → предотвращает двойную обработку.
* Определите политики повторных попыток (экспоненциальное отступление, максимальное количество попыток).
* Отслеживайте длину очереди и отставание в обработке как индикаторы работоспособности.
* Используйте очереди недоставленных сообщений для неудачных сообщений.
* Обеспечьте упорядоченность сообщений только в случае бизнес-критичности (упорядочивание увеличивает затраты/сложность).
* Делайте сообщения небольшими и самодостаточными.
* Всегда включайте идентификаторы корреляции для отслеживания.
Рекомендации по производительности:
* Для пропускной способности → параллельные потребители или разделы
* Для надёжности → сохраняйте, если критично (компромисс: скорость)
* Для масштабируемости → автоматическое масштабирование потребителей
Паттерны:
* Рабочая очередь (Work Queue) → распределение задач между работниками
* Pub/Sub → трансляция для множества подписчиков
* Отложенная очередь (Delayed Queue) → повторная попытка позже или планирование задач
* Очередь приоритетов (Priority Queue) → обработка срочных задач в первую очередь
Telegram
METANIT.COM
Шпаргалка по использованию очередей
(продолжение в следующем посте)
(продолжение в следующем посте)
👍8❤3🔥3