== Микросервисная архитектура, подходы и технологии
https://youtu.be/FF-GZ7iipwc
- апи гэйтвей
- брокер сообщений (rabbitMQ)
- иденпотентность
- версионирование
- переиспользуемые сервисы
- секреты
- общий код - в библиотеки и пакеты
- без девопсов нет микросервисов
короч если много проектов финтех и неистовое количество сервисов яндекса, мэйлру и много дргих вендоров до сих пор на кролике - не вижу смысла сомневаться больше. выдохнул
https://youtu.be/FF-GZ7iipwc
- апи гэйтвей
- брокер сообщений (rabbitMQ)
- иденпотентность
- версионирование
- переиспользуемые сервисы
- секреты
- общий код - в библиотеки и пакеты
- без девопсов нет микросервисов
короч если много проектов финтех и неистовое количество сервисов яндекса, мэйлру и много дргих вендоров до сих пор на кролике - не вижу смысла сомневаться больше. выдохнул
YouTube
Микросервисная архитектура, подходы и технологии / Кирилл Ветчинкин (TYME)
Backend Conf, РИТ++ 2018
Тезисы и презентация:
http://backendconf.ru/2018/abstracts/3339
Последние годы все чаще говорят о микросервисной архитектуре приложений. Давайте разберемся, почему она так популярна, какие основные плюсы и минусы мы получаем. А…
Тезисы и презентация:
http://backendconf.ru/2018/abstracts/3339
Последние годы все чаще говорят о микросервисной архитектуре приложений. Давайте разберемся, почему она так популярна, какие основные плюсы и минусы мы получаем. А…
== забавный сервис сравнения баз данных по времени процессинг. как собирается стата - оставим за скобками. но посмотреть интересно
https://clickhouse.com/benchmark/dbms/#[100000000,[%22MySQL%22,%22PostgreSQL%22],[%221%22,%222%22]]
https://clickhouse.com/benchmark/dbms/#[100000000,[%22MySQL%22,%22PostgreSQL%22],[%221%22,%222%22]]
== A new approach to DataFrames and pipelines
https://youtu.be/2Tt0i823-ec?t=562
ВАУ. ПРОСТО ВАУ
короч пандас на дрожжах. умеет и в мультикор цпу и в гпу и хз во что еще.
и совмещается с оригинальным пандасом на раз
и апи с пандасом оч схоже много где
https://towardsdatascience.com/how-to-analyse-100s-of-gbs-of-data-on-your-laptop-with-python-f83363dda94
https://vaex.io/docs/index.html#
https://youtu.be/2Tt0i823-ec?t=562
ВАУ. ПРОСТО ВАУ
короч пандас на дрожжах. умеет и в мультикор цпу и в гпу и хз во что еще.
и совмещается с оригинальным пандасом на раз
и апи с пандасом оч схоже много где
https://towardsdatascience.com/how-to-analyse-100s-of-gbs-of-data-on-your-laptop-with-python-f83363dda94
https://vaex.io/docs/index.html#
YouTube
Maarten Breddels & Jovan Veljanoski- A new approach to DataFrames and pipelines - PyData London 2019
Modern Data Science: A new approach to DataFrames and pipelines
Maarten Breddels, Jovan Veljanoski
Audience level:
We show how to deal with massive datasets using small resources using the Python Vaex DataFrame library. Using computational graphs, efficient…
Maarten Breddels, Jovan Veljanoski
Audience level:
We show how to deal with massive datasets using small resources using the Python Vaex DataFrame library. Using computational graphs, efficient…
Forwarded from Python Daily
Ой, а что это тут у нас? Новая либа от автора FastAPI - tiangolo released 0.0.1 at tiangolo/asyncer
#github #newrepo #nothabr #pydaily
#github #newrepo #nothabr #pydaily
GitHub
GitHub - fastapi/asyncer: Asyncer, async and await, focused on developer experience.
Asyncer, async and await, focused on developer experience. - fastapi/asyncer
== Python vs C/C++ vs Assembly side-by-side comparison
https://youtu.be/3PcIJKd1PKU
забавный видос сравнение скорости разработки и перформанса на выходе для ASM, Python и C/C++
https://youtu.be/3PcIJKd1PKU
забавный видос сравнение скорости разработки и перформанса на выходе для ASM, Python и C/C++
YouTube
Python vs C/C++ vs Assembly side-by-side comparison
next i will compare fortran and 4chan
a test of the relative performance, not the prime-checking algorithm
a test of the relative performance, not the prime-checking algorithm
== Знакомство с микросервисами
https://www.youtube.com/playlist?list=PLTeQxFEPAJixjNVcuwmrUbTcO-SD2YEIR
нашел забавный простой плейлист небольшого курса по микросервисам. на фоне звучит норм
https://www.youtube.com/playlist?list=PLTeQxFEPAJixjNVcuwmrUbTcO-SD2YEIR
нашел забавный простой плейлист небольшого курса по микросервисам. на фоне звучит норм
YouTube
Микросервисы
#microservices #SpringBoot #kafka Знакомство с микросервисами, начиная от создания сервиса. Рассматриваются архитектурные концепции, подходы: взаимодействие ...
== Разработка приложений, устойчивых к кратковременным отказам
https://youtu.be/CvRQXat_Ub8
И вновь немного про теорию массового обслуживания и очередей
https://youtu.be/CvRQXat_Ub8
И вновь немного про теорию массового обслуживания и очередей
YouTube
Разработка приложений, устойчивых к кратковременным отказам / Георгий Полевой (Dodo Pizza)
Приглашаем на конференцию HighLoad++ 2024, которая пройдет 2 и 3 декабря в Москве!
Программа, подробности и билеты по ссылке: https://clck.ru/3DD4yb
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
Программа, подробности и билеты по ссылке: https://clck.ru/3DD4yb
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
Forwarded from Записки админа
🛠 Ещё один рантайм для контейнеров, на этот раз, написанный на Rust - youki.
#containers #runtime #youki
#containers #runtime #youki
utam0k
Hello, youki!
First release of youki, an OCI container runtime written in Rust
== БИНОМ НЬЮТОНА ДЛЯ ЧАЙНИКОВ
https://youtu.be/VDW_E_zyd8M
https://youtu.be/VDW_E_zyd8M
YouTube
#219. БИНОМ НЬЮТОНА ДЛЯ ЧАЙНИКОВ
Вы знаете, почему 0!=1? В любом случае: пора разобраться с азами комбинаторики и с одной из самых известных формул в математике — биномом Ньютона!
Мои курсы: https://vk.com/market-135395111
VK: https://vk.com/wildmathing
Задачник: hhttps://vk.com/topic…
Мои курсы: https://vk.com/market-135395111
VK: https://vk.com/wildmathing
Задачник: hhttps://vk.com/topic…
== Шаблоны проектирования микросервисов на примере Авито
https://youtu.be/5_9x7czHJOM
- Null Object Pattern (создание заглушки в случае если пришло чтото не то)
- Circuit Breaker ()
- Health Check (для базового случая и для случая под нагрузкой)
мало. скорей про опыт компании по переходу на микросервисы рассказал, чем про паттерны
https://youtu.be/5_9x7czHJOM
- Null Object Pattern (создание заглушки в случае если пришло чтото не то)
- Circuit Breaker ()
- Health Check (для базового случая и для случая под нагрузкой)
мало. скорей про опыт компании по переходу на микросервисы рассказал, чем про паттерны
YouTube
Шаблоны проектирования микросервисов на примере Авито / Фрол Крючков (Авито)
Приглашаем на конференцию Saint HighLoad++ 2025, которая пройдет 23 и 24 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb…
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb…
нарвался на шикарный доклад
== Успехи и провалы с Redis
https://youtu.be/JBIm4sglyQU
- ttl занимает дополнительную память
- удаление ключей происходит при обращении и случайным образом
- ОБЯЗАТЕЛЬНО задать max-memory и max-memory-policy
Persistence & replication
- diskless
- disk-based (default)
- in-memory (for enterprise)
- откличать надо TRANSPARENT_HUGE_PAGES
- vm.overcommmit = 1
не забываем про mem-Fragmentation
не забываем про дополнительные буфферы
Используйте структуру HASH
Используйте Sorted Set (ZSET)
- ограничитель скорости (rate-limiter)
- планировщик задач (scheduler)
- очередь повторов (retry)
не забываем про Транзакции
не забываем что есть LUA-скрипты
- Скрипты кэшируются на конкретных нодах при LOAD и EVAL
- есть проблема со сменой мастера
HA redis:
1) перегрузка мастера
- надо что бы было задержка рестарта ноды была меньше больше чем время фэйловера
- Sentiel динамически обновляют конфигурацию
- Sentiel не забывает реплики
Persistence
- RDB - снапшоты, компактный размер
- AOF - лог операций
- AOF + RDB = гарантии почти как Постгресе
- нужен свой backup noscript + check
- на мастере МОЖНО отклучить персистанс (но надо понимать что делаешь) - ЛУЧШЕ оставить только AOF
Sentinels
- мониторить снаружи (ОПАСНО, так как может резануть сеть от вотчеров)
- мониторить изнутри
Multi-az/rack cluster
Решение с двумя ДЦ
- Есть свой Active-Active без CRDT
- НЕ ДОВЕРЯЙТЕ НАДЕЖНОСТИ СЕТИ !!!!
Не забываем про Шардирование
Pub/Sub
- AT MOST ONCE !
- получат только активные клиенты
- нет гарантий когда произойдет событие
Streams
- Append only
- Body Hash-like
- Consumer Groups
Monitoring & redis_exporter
- сбор метрик = доп нагрузка !
- большинство можно получить из INFO
- Аккуратней с -check-keys = ПРОВЕРЯЕТ ВСЕ
- можно создать LUA скрипт и проверять только то чтонужно (ШИКАРНО!!!)
Редис уже не такой уж и однопоточный
== Успехи и провалы с Redis
https://youtu.be/JBIm4sglyQU
- ttl занимает дополнительную память
- удаление ключей происходит при обращении и случайным образом
- ОБЯЗАТЕЛЬНО задать max-memory и max-memory-policy
Persistence & replication
- diskless
- disk-based (default)
- in-memory (for enterprise)
- откличать надо TRANSPARENT_HUGE_PAGES
- vm.overcommmit = 1
не забываем про mem-Fragmentation
не забываем про дополнительные буфферы
Используйте структуру HASH
Используйте Sorted Set (ZSET)
- ограничитель скорости (rate-limiter)
- планировщик задач (scheduler)
- очередь повторов (retry)
не забываем про Транзакции
не забываем что есть LUA-скрипты
- Скрипты кэшируются на конкретных нодах при LOAD и EVAL
- есть проблема со сменой мастера
HA redis:
1) перегрузка мастера
- надо что бы было задержка рестарта ноды была меньше больше чем время фэйловера
- Sentiel динамически обновляют конфигурацию
- Sentiel не забывает реплики
Persistence
- RDB - снапшоты, компактный размер
- AOF - лог операций
- AOF + RDB = гарантии почти как Постгресе
- нужен свой backup noscript + check
- на мастере МОЖНО отклучить персистанс (но надо понимать что делаешь) - ЛУЧШЕ оставить только AOF
Sentinels
- мониторить снаружи (ОПАСНО, так как может резануть сеть от вотчеров)
- мониторить изнутри
Multi-az/rack cluster
Решение с двумя ДЦ
- Есть свой Active-Active без CRDT
- НЕ ДОВЕРЯЙТЕ НАДЕЖНОСТИ СЕТИ !!!!
Не забываем про Шардирование
Pub/Sub
- AT MOST ONCE !
- получат только активные клиенты
- нет гарантий когда произойдет событие
Streams
- Append only
- Body Hash-like
- Consumer Groups
Monitoring & redis_exporter
- сбор метрик = доп нагрузка !
- большинство можно получить из INFO
- Аккуратней с -check-keys = ПРОВЕРЯЕТ ВСЕ
- можно создать LUA скрипт и проверять только то чтонужно (ШИКАРНО!!!)
Редис уже не такой уж и однопоточный
YouTube
Успехи и провалы с Redis / Иван Летенко (Infobip)
Приглашаем на конференцию Saint HighLoad++ 2025, которая пройдет 23 и 24 июня в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
При поддержке AvitoTech мы впервые публикуем все видео с HighLoad++ 2019…
Программа, подробности и билеты по ссылке: https://highload.ru/spb/2025
________
При поддержке AvitoTech мы впервые публикуем все видео с HighLoad++ 2019…
== Карьера в IT: должность CTO
https://dou.ua/lenta/articles/cto-position/
в круг обязанностей CTO могут входить:
— Определение общих стратегий технического развития;
— Принятие глобальных технических решений;
— Внутренний технический арбитраж;
— Выбор технологий, которые будут использоваться в том или ином проекте;
— Оценка этих технологий в плане финансовых и временных затрат;
— Оценка длительности и трудоемкости проектов;
— Планирование и построение процессов разработки;
— Формирование команд разработчиков;
— Распределение задач между командами;
— Отслеживание продвижения проектов;
— Обеспечение темпа и качество разработки на максимально высоком уровне;
— Выбор и внедрение вспомогательных систем для разработки и администрации;
— Экспертные предложения по архитектуре или конкретным техническим решениям;
— Написание кода, обзоры кода, рефакторинг;
— Технический pre-sale ключевых проектов;
— Управление техническими рисками на проектах;
— Общение с другими отделами и топ-менеджерами компании (CEO, COO, CIO и др.);
— Координация работы департаментов;
— Технические собеседования с новыми сотрудниками;
— Оценка продуктивности сотрудников и решение об уровне их зарплат;
— Обучение сотрудников;
— Формирование рабочей атмосферы в коллективе, мотивация сотрудников;
— Разборы полетов с тимлидами:)
https://dou.ua/lenta/articles/cto-position/
в круг обязанностей CTO могут входить:
— Определение общих стратегий технического развития;
— Принятие глобальных технических решений;
— Внутренний технический арбитраж;
— Выбор технологий, которые будут использоваться в том или ином проекте;
— Оценка этих технологий в плане финансовых и временных затрат;
— Оценка длительности и трудоемкости проектов;
— Планирование и построение процессов разработки;
— Формирование команд разработчиков;
— Распределение задач между командами;
— Отслеживание продвижения проектов;
— Обеспечение темпа и качество разработки на максимально высоком уровне;
— Выбор и внедрение вспомогательных систем для разработки и администрации;
— Экспертные предложения по архитектуре или конкретным техническим решениям;
— Написание кода, обзоры кода, рефакторинг;
— Технический pre-sale ключевых проектов;
— Управление техническими рисками на проектах;
— Общение с другими отделами и топ-менеджерами компании (CEO, COO, CIO и др.);
— Координация работы департаментов;
— Технические собеседования с новыми сотрудниками;
— Оценка продуктивности сотрудников и решение об уровне их зарплат;
— Обучение сотрудников;
— Формирование рабочей атмосферы в коллективе, мотивация сотрудников;
— Разборы полетов с тимлидами:)
DOU
Карьера в IT: должность CTO
CTO (Chief technology officer) — один из руководителей компании, отвечающий за разработку новых сервисов или продуктов, а также за оптимизацию производительности производства: управление процессами разработки в проектных командах, обучение и повышение квалификации…
Короч шикарный ридЛист для понимания своих обязанностей
Карьера в IT
- должность CTO
- должность Software Architect
- должность Project Manager
- Должность QA
- Должность QA Automation
- Должность BA
- Должность SYS-Admin
- Должность DS/ML Engineer
- Должность Delivery Manager
- Должность Product Manager
- Должность Fullstack Developer
- Должность Embedded Dev
- Должность Happiness Manager
- Должность UI/UX
- Должность Team Lead
- должность BizDev
- должность Sales Manager
- Должность Site Reliability Engineer
- должность Support Engineer
- должности HR-менеджер & рекрутер
- роль Scrum Master
- Должность NLP Engineer и NLP Researcher
- должность Technical Writer
- должность Program Manager
- специалист по кибербезопасности
- Должность AdOps Engineer
- должность Blockchain-разработчик
- Должность Продуктовый Аналитик
- Должность Program Manager
- Должность Верстальщик
- Должность DevOps engineer
Карьера в IT
- должность CTO
- должность Software Architect
- должность Project Manager
- Должность QA
- Должность QA Automation
- Должность BA
- Должность SYS-Admin
- Должность DS/ML Engineer
- Должность Delivery Manager
- Должность Product Manager
- Должность Fullstack Developer
- Должность Embedded Dev
- Должность Happiness Manager
- Должность UI/UX
- Должность Team Lead
- должность BizDev
- должность Sales Manager
- Должность Site Reliability Engineer
- должность Support Engineer
- должности HR-менеджер & рекрутер
- роль Scrum Master
- Должность NLP Engineer и NLP Researcher
- должность Technical Writer
- должность Program Manager
- специалист по кибербезопасности
- Должность AdOps Engineer
- должность Blockchain-разработчик
- Должность Продуктовый Аналитик
- Должность Program Manager
- Должность Верстальщик
- Должность DevOps engineer
DOU
Карьера в IT: должность CTO
CTO (Chief technology officer) — один из руководителей компании, отвечающий за разработку новых сервисов или продуктов, а также за оптимизацию производительности производства: управление процессами разработки в проектных командах, обучение и повышение квалификации…
== Про Kafka
https://youtu.be/-AZOi3kP9Js
- topic
- partition
- partition balancing
- storage: simple log files, segment
- DELETE NOT PERMITTED !
- ttl удаляет по сегментно
- partition replication
- partition Leader of replicas
- in-sync-replicas (ISR) - надежно! min.insync.replicas = 3
- producer: ack (0,1,-1) -1 означает что ждет подтверждения от всех ISR
- fetch metadata = SYNC operation
- Delivery semantics: AT MOST ONCE, AT LEAST ONCE, EXACTLY ONCE
- consumer: offset, re-balancing
why is it so fast:
- scalable arch
- sequential write and read
- no random read
- zero copy
- several semantics
- fine tuning !
короч можно было книгу не читать. просто посмотрев вовремя этот доклад 😂
https://youtu.be/-AZOi3kP9Js
- topic
- partition
- partition balancing
- storage: simple log files, segment
- DELETE NOT PERMITTED !
- ttl удаляет по сегментно
- partition replication
- partition Leader of replicas
- in-sync-replicas (ISR) - надежно! min.insync.replicas = 3
- producer: ack (0,1,-1) -1 означает что ждет подтверждения от всех ISR
- fetch metadata = SYNC operation
- Delivery semantics: AT MOST ONCE, AT LEAST ONCE, EXACTLY ONCE
- consumer: offset, re-balancing
why is it so fast:
- scalable arch
- sequential write and read
- no random read
- zero copy
- several semantics
- fine tuning !
короч можно было книгу не читать. просто посмотрев вовремя этот доклад 😂
YouTube
Про Kafka (основы)
Apache Kafka - популярный распределенный отказоустойчивый брокер сообщений, используемый в высоконагруженных системах и BigData проектах.
На видео мой рассказ про основы Kafka: что, зачем, как и где.
На видео мой рассказ про основы Kafka: что, зачем, как и где.
== Безграничная память. Как запоминать информацию
https://youtu.be/diEkFaHklJ0
https://youtu.be/diEkFaHklJ0
== распространенные ошибки изменения схемы данных в postgres
https://youtu.be/RDWz8_xuoWE
https://youtu.be/RDWz8_xuoWE
YouTube
Распространённые ошибки изменения схемы базы данных PostgreSQL / Николай Самохвалов (Postgres.ai)
Приглашаем на конференцию HighLoad++ 2025, которая пройдет 6 и 7 ноября в Москве!
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
== postgres high load checklist
https://www.youtube.com/watch?v=0_CwH_lrPp0
https://www.youtube.com/watch?v=0_CwH_lrPp0
YouTube
Postgres Highload Checklist / Иван Панченко (Postgres Professional)
Saint HighLoad++ 2019
Тезисы и презентация:
https://www.highload.ru/spb/2019/abstracts/4433
* Почему СУБД часто становится узким местом проекта, и как этого избежать?
* Как снизить нагрузку на СУБД? Как распределить (расшардить) её?
...
Нашли ошибку в…
Тезисы и презентация:
https://www.highload.ru/spb/2019/abstracts/4433
* Почему СУБД часто становится узким местом проекта, и как этого избежать?
* Как снизить нагрузку на СУБД? Как распределить (расшардить) её?
...
Нашли ошибку в…
== Изобретая синхронную репликацию
https://youtu.be/I8ijlHkMScY
- репликация
- RAFT
Резервная копия
балансировка запросов
Асинхронная
= для коммита транзакции достаточно что бы запись о ней попала в локальный журнал на мастере, потом сразу коммит, а репликация произойдет позже.
- если мастер отказывает - реплики не получат ничего. транзакция исчезает
- грязные чтения. = чтение данных до того как данные не зафиксированные
+ быстрая
+ высокая доступность
+ легко конфигурировать
+ есть мастер-мастер
- ненадежно. можно потерять данные
Синхронная репликиаця
= мастер записывает в локальный лог транзакцию и сразу раздает кворуму на подтверждение записи в их лог. и после этого коммит
- медленней
- хрупкая доступность
- трудно конфигурировать
- только мастер реплика
+ сложно потерять данные. надежно!
Raft
- каждая нода имеет одну из трех ролей (лидер, реплика, кандидат)
- лидер это тот кто принимает все запросы и отправляет репликам
- реплика это все остальные ноды, которые все скачивают и перенаправляеют все лидеру
- каждая нода изначально реплика
- если лидер не доступен, то реплики превращаются в кандидатов и пытаются выбрать из друг друга лидера
- все время жизни делится на ТЕРМ-ы (логические часы кластера)
синхронность транзакции гарантируется за счет четырех этапного коммита
- данные в журнал лидера
- данные в журнал реплик
- коммит в журнал лидера и ответ пользователю
- коммит в журналы реплик
ОТКАЗ на любом этапе любой ноыд НЕ ПРИВОДИТ К ПОТЕРЕ данных после коммита покаживо 50%+1 нода
Рафт накладывает органичение на журналы (что и как хранится)
У рафта есть и ОТКАТ транзакций
ReplicaID - ID узла создателя
LSN - монотонный счетчик
VClock это пара ReplicaID и LSN
https://youtu.be/I8ijlHkMScY
- репликация
- RAFT
Резервная копия
балансировка запросов
Асинхронная
= для коммита транзакции достаточно что бы запись о ней попала в локальный журнал на мастере, потом сразу коммит, а репликация произойдет позже.
- если мастер отказывает - реплики не получат ничего. транзакция исчезает
- грязные чтения. = чтение данных до того как данные не зафиксированные
+ быстрая
+ высокая доступность
+ легко конфигурировать
+ есть мастер-мастер
- ненадежно. можно потерять данные
Синхронная репликиаця
= мастер записывает в локальный лог транзакцию и сразу раздает кворуму на подтверждение записи в их лог. и после этого коммит
- медленней
- хрупкая доступность
- трудно конфигурировать
- только мастер реплика
+ сложно потерять данные. надежно!
Raft
- каждая нода имеет одну из трех ролей (лидер, реплика, кандидат)
- лидер это тот кто принимает все запросы и отправляет репликам
- реплика это все остальные ноды, которые все скачивают и перенаправляеют все лидеру
- каждая нода изначально реплика
- если лидер не доступен, то реплики превращаются в кандидатов и пытаются выбрать из друг друга лидера
- все время жизни делится на ТЕРМ-ы (логические часы кластера)
синхронность транзакции гарантируется за счет четырех этапного коммита
- данные в журнал лидера
- данные в журнал реплик
- коммит в журнал лидера и ответ пользователю
- коммит в журналы реплик
ОТКАЗ на любом этапе любой ноыд НЕ ПРИВОДИТ К ПОТЕРЕ данных после коммита покаживо 50%+1 нода
Рафт накладывает органичение на журналы (что и как хранится)
У рафта есть и ОТКАТ транзакций
ReplicaID - ID узла создателя
LSN - монотонный счетчик
VClock это пара ReplicaID и LSN
YouTube
Изобретая синхронную репликацию / Владислав Шпилевой (Ubisoft)
Приглашаем на Saint HighLoad 2023, которая пройдет 26 и 27 июня 2023 в Санкт-Петербурге!
Программа, подробности и билеты по ссылке: http://bit.ly/3JZHEg2
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
Программа, подробности и билеты по ссылке: http://bit.ly/3JZHEg2
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
== Серебряная пуля геораспределенных систем
https://youtu.be/1pSHI_4ICbY
и вновь про репликации
синхронная = плохо
асинхронная = плохо
смотрите в бизнеслогику а не в скорость!
по факту всегда есть стейтфулл система. стейтлесс очень редкий кейс
если стейтфул - есть проблема с роутингом
AnyCast это протокол роутинга. который транслирует
Автономная сеть
ip4 адреса закончились =(
если у вас своя автономная сеть - обязательно работать с РосКомНадзором
лучше как то жить с асинхронной репликацией
https://youtu.be/1pSHI_4ICbY
и вновь про репликации
синхронная = плохо
асинхронная = плохо
смотрите в бизнеслогику а не в скорость!
по факту всегда есть стейтфулл система. стейтлесс очень редкий кейс
если стейтфул - есть проблема с роутингом
AnyCast это протокол роутинга. который транслирует
Автономная сеть
ip4 адреса закончились =(
если у вас своя автономная сеть - обязательно работать с РосКомНадзором
лучше как то жить с асинхронной репликацией
YouTube
Серебряная пуля геораспределенных систем / Евгений Кузовлев (ECOMMPAY IT)
Приглашаем на конференцию HighLoad++ 2023, которая пройдет 27 и 28 ноября 2023 в Москве!
Программа, подробности и билеты по ссылке: https://clck.ru/354BuE
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
Программа, подробности и билеты по ссылке: https://clck.ru/354BuE
--------
HighLoad++ Весна 2021
Крупнейшая профессиональная конференция для разработчиков высоконагруженных…
== Разработка и проектирование высоконагруженных систем (часть 1)
https://youtu.be/KmIE5K6adus
облака не делает сразу HA все что в него положили! облако не избавляет от необходимости думать
кэши не всегда ускоряют
Если попадание 90% то сервис ускоряется в 3.3х
если в 60% то всего 1.7х
если 20% то не приносит пользы!!!
все что меньше 20% то уже ЗАМЕДЛЯЕТ
индексы
- замедляет вставку
- увеличивает РАМ
- усложняет работу планировщика запросов
принцип построения высоконагруженных систем
- максимальная независимость компонент
- отсутствие единой точки отказа (по функциональности, по данным)
Архитектура
1) Сервисно-ориентированная
2) монолитное приложение
3)
https://youtu.be/KmIE5K6adus
облака не делает сразу HA все что в него положили! облако не избавляет от необходимости думать
кэши не всегда ускоряют
Если попадание 90% то сервис ускоряется в 3.3х
если в 60% то всего 1.7х
если 20% то не приносит пользы!!!
все что меньше 20% то уже ЗАМЕДЛЯЕТ
индексы
- замедляет вставку
- увеличивает РАМ
- усложняет работу планировщика запросов
принцип построения высоконагруженных систем
- максимальная независимость компонент
- отсутствие единой точки отказа (по функциональности, по данным)
Архитектура
1) Сервисно-ориентированная
2) монолитное приложение
3)
YouTube
Разработка и проектирование высоконагруженных систем (часть 1) / Олег Бунин (Онтико)
Приглашаем на конференцию HighLoad++ 2025, которая пройдет 6 и 7 ноября в Москве!
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
Учебный день
Часть 2: https://youtu.be/sCm4qUw28y4
Часть 3: https://youtu.be/MG8-HmgOXlk
Программа, подробности и билеты по ссылке: https://highload.ru/moscow/2025
________
Учебный день
Часть 2: https://youtu.be/sCm4qUw28y4
Часть 3: https://youtu.be/MG8-HmgOXlk
https://nolanlawson.com/2021/12/17/introducing-fuite-a-tool-for-finding-memory-leaks-in-web-apps/
Тула для поиска проблем с утечками в веб вкладках
Использует стандартное АПИ хрома
Тула для поиска проблем с утечками в веб вкладках
Использует стандартное АПИ хрома
Read the Tea Leaves
Introducing fuite: a tool for finding memory leaks in web apps
Debugging memory leaks in web apps is hard. The tooling exists, but it’s complicated, cumbersome, and often doesn’t answer the simple question: Why is my app leaking memory? Because of …