АААА. замечательная статья. все понятия достаточно хорошо разьяснены... где ты была раньше блиН ?!?!
== Консистентно о Консенсусе
https://habr.com/ru/company/timeweb/blog/575136/
консистентности или согласованности— логическая непротиворечивость хранимых данных.
Консенсус — это согласие группы участников касательно значения некоторого состояния.
Пессимистичная блокировка — сначала участник запирает ресурс, затем производит его обновление, по завершении которого ресурс отпирается. Это если ему повезло прийти первым. Если же он пришёл, а ресурс уже кем-то заперт, то он сидит, ничего не делает, и ждёт его отпирания.
Смертельное запирание — когда два участника успешно запирают два разных ресурса, а потом блокируются при попытке запереть ресурс уже запертый оппонентом.
Оптимистичная блокировка — участник сначала готовит новое состояние, а потом атомарно применяет его к источнику истины. Если повезёт. А если не повезёт, и кто-то успеет раньше него, то вся проделанная работа выкидывается, и начинается заново. Висеть в таком цикле участник может неограниченно долго.
Упорядоченная сходимость = Operational Transformation — после слияния всех изменений каждым участником, любой из них должен получить одну и ту же цепочку изменений, что даст им одно и то же финальное состояние. То есть конвергенцию.
Полу-упорядоченная сходимость = CmRDT: Conflict-free Commutative Replicated Data Type — изменения от одного участника применяются лишь в том же порядке, в котором этот участник их вносил. А вот изменения разных участников можно переставлять друг относительно друга как угодно, но результат будет одинаковым.
Беспорядочная сходимость = CvRDT: Conflict-free Convergent Replicated Data Type — изменения могут приходить в произвольном порядке, могут дублироваться, а могут и вообще потеряться, но последующие изменения всё же обеспечат конвергенцию.
CROWD — CvRDT нового поколения
== Консистентно о Консенсусе
https://habr.com/ru/company/timeweb/blog/575136/
консистентности или согласованности— логическая непротиворечивость хранимых данных.
Консенсус — это согласие группы участников касательно значения некоторого состояния.
Пессимистичная блокировка — сначала участник запирает ресурс, затем производит его обновление, по завершении которого ресурс отпирается. Это если ему повезло прийти первым. Если же он пришёл, а ресурс уже кем-то заперт, то он сидит, ничего не делает, и ждёт его отпирания.
Смертельное запирание — когда два участника успешно запирают два разных ресурса, а потом блокируются при попытке запереть ресурс уже запертый оппонентом.
Оптимистичная блокировка — участник сначала готовит новое состояние, а потом атомарно применяет его к источнику истины. Если повезёт. А если не повезёт, и кто-то успеет раньше него, то вся проделанная работа выкидывается, и начинается заново. Висеть в таком цикле участник может неограниченно долго.
Упорядоченная сходимость = Operational Transformation — после слияния всех изменений каждым участником, любой из них должен получить одну и ту же цепочку изменений, что даст им одно и то же финальное состояние. То есть конвергенцию.
Полу-упорядоченная сходимость = CmRDT: Conflict-free Commutative Replicated Data Type — изменения от одного участника применяются лишь в том же порядке, в котором этот участник их вносил. А вот изменения разных участников можно переставлять друг относительно друга как угодно, но результат будет одинаковым.
Беспорядочная сходимость = CvRDT: Conflict-free Convergent Replicated Data Type — изменения могут приходить в произвольном порядке, могут дублироваться, а могут и вообще потеряться, но последующие изменения всё же обеспечат конвергенцию.
CROWD — CvRDT нового поколения
Хабр
Консистентно о Консенсусе
Здравствуйте, меня зовут Дмитрий Карловский. А вы на канале Core Dump , где мы берём различные темы из компьютерной науки и раскладываем их по полочкам. И на этот раз мы постараемся прийти к согласию...
== Как я делал IAM на готовых решениях
https://habr.com/ru/post/645559/
https://github.com/gen1us2k/kratos_flask_example
- Ory Kratos
- Ory Keto
40строк кода и все шикарно
https://habr.com/ru/post/645559/
https://github.com/gen1us2k/kratos_flask_example
- Ory Kratos
- Ory Keto
40строк кода и все шикарно
Хабр
Как я делал IAM на готовых решениях
Привет, хабражители. Сегодня хочу поговорить про идентификацию, аутентификацию и авторизацию. В прошлом году я делал достаточно подробный ресерч по этой теме и хочу рассказать о разнице нескольких...
== Python: Явное лучше неявного
https://habr.com/ru/post/645405/
неожиданно забавное чтиво про расследование бага
https://habr.com/ru/post/645405/
неожиданно забавное чтиво про расследование бага
Хабр
Python: Явное лучше неявного
Приветствую, хабраюзер! Эта история началась со странного падения Python приложения. Сначала я не придал внимания данной проблеме: приложение запущено в Openshift и периодически падает. К такому...
== толковый плейлист по Rabbitmq
https://youtube.com/playlist?list=PLprvDkBQwz6ZC1iwd4y80Qqi43sswECdX
- общая инфа
- установка/настройка кластера
- принципы работы работы кролика на практике
- назначение прав доступа в Rabbitmq на практике
- Тесты HA кластера и метод балансировки
есть очереди типа КВОРУМ для кластера
пермишны можно настроить вплоть до конкретного эксченжа и топика
один балансер это одна точка отказа
можно делать балансировку на уровне L3
можно физический интерфейс хоста обьединить в бридж с ВМ
пока не будет всех нод Реббит не стартует !!!
https://youtube.com/playlist?list=PLprvDkBQwz6ZC1iwd4y80Qqi43sswECdX
- общая инфа
- установка/настройка кластера
- принципы работы работы кролика на практике
- назначение прав доступа в Rabbitmq на практике
- Тесты HA кластера и метод балансировки
есть очереди типа КВОРУМ для кластера
пермишны можно настроить вплоть до конкретного эксченжа и топика
один балансер это одна точка отказа
можно делать балансировку на уровне L3
можно физический интерфейс хоста обьединить в бридж с ВМ
пока не будет всех нод Реббит не стартует !!!
YouTube
Rabbitmq
Share your videos with friends, family, and the world
== небольшой плейлист по Network
https://youtube.com/playlist?list=PLprvDkBQwz6bOaO1N0vDaHX-jqlvlKIhp
- Routing VS Nat
- Построение отказоустойчивой сети (Bonding, LAG, LACP)
- Построение отказоустойчивой сети VPC
- Обеспечение бесперебойного интернета (VRRP)
- настройка DNS балансировки и failover
- Тесты на боевой системе
NAT - это медленно
Ip Tables - Это медленно
при NAT нагрузка на ЦПУ выше
при использовании Kubernates/swarm и пр сеть нельзя обьединить с физическим интерфейсом хоста (а при использовании ВМ это сделать МОЖНО)
https://youtube.com/playlist?list=PLprvDkBQwz6bOaO1N0vDaHX-jqlvlKIhp
- Routing VS Nat
- Построение отказоустойчивой сети (Bonding, LAG, LACP)
- Построение отказоустойчивой сети VPC
- Обеспечение бесперебойного интернета (VRRP)
- настройка DNS балансировки и failover
- Тесты на боевой системе
NAT - это медленно
Ip Tables - Это медленно
при NAT нагрузка на ЦПУ выше
при использовании Kubernates/swarm и пр сеть нельзя обьединить с физическим интерфейсом хоста (а при использовании ВМ это сделать МОЖНО)
YouTube
Networks
Share your videos with friends, family, and the world
== DNS Best Practices, Network Protections, and Attack Identification
https://tools.cisco.com/security/center/resources/dns_best_practices
шикарное чтиво если сложно заснуть
https://tools.cisco.com/security/center/resources/dns_best_practices
шикарное чтиво если сложно заснуть
== Представление о структуре отказоустойчивого кластера
https://youtu.be/hBrc-jJFbAw
CEPH как кластерная система хранения файлов . ВАРИАНТОВ НЕТ
каждый сервак должен иметь МИНИМУМ две раздельнче сетевые карты с оптикой. настроен бондинг
два физических роутера
два узла nginx
https://youtu.be/hBrc-jJFbAw
CEPH как кластерная система хранения файлов . ВАРИАНТОВ НЕТ
каждый сервак должен иметь МИНИМУМ две раздельнче сетевые карты с оптикой. настроен бондинг
два физических роутера
два узла nginx
YouTube
Представление о структуре отказоустойчивого кластера.
00:00 - почему не кубернетс?
06:21 - рассказываю о структуре кластера
"Ссылка на следующее видео": https://youtu.be/fV7YKBGGFcw
"Знакомство с хранилищем Ceph в картинках" https://habr.com/ru/post/313644/
"Как мы отказоустойчивый кластер запускали" htt…
06:21 - рассказываю о структуре кластера
"Ссылка на следующее видео": https://youtu.be/fV7YKBGGFcw
"Знакомство с хранилищем Ceph в картинках" https://habr.com/ru/post/313644/
"Как мы отказоустойчивый кластер запускали" htt…
== Установка кластера кафки на 3 ноды.
https://youtu.be/OTxnQ289pvg
проперти, кластер, настройка
- кафка
- зукипер
== Понимание принципов работы kafka на практике
https://youtu.be/Ep9ZQjrn1Rs
- продюссер всегда пишет в лидера. остальные партиции на одной ноде только для чтения
https://youtu.be/OTxnQ289pvg
проперти, кластер, настройка
- кафка
- зукипер
== Понимание принципов работы kafka на практике
https://youtu.be/Ep9ZQjrn1Rs
- продюссер всегда пишет в лидера. остальные партиции на одной ноде только для чтения
YouTube
Установка кластера кафки на 3 ноды.
Ссылка на ознакомительное видео с принципами работы брокеров сообщений: https://youtu.be/ygZ9LsJG7Dw
Ссылка на файлы из видео: https://github.com/big-town/ha-cluster/tree/master/kafka
Ссылка на загрузку кафки: https://kafka.apache.org/downloads
Ссылка на файлы из видео: https://github.com/big-town/ha-cluster/tree/master/kafka
Ссылка на загрузку кафки: https://kafka.apache.org/downloads
все время хотелось понять как оно работает. шикаааарная статья. лайк
== Знакомство с хранилищем Ceph в картинках
https://habr.com/ru/post/313644/
Алгоритм CRUSH (Controlled Replicated Under Scalable Hashing)
- позволяет однозначно определить местоположение объекта на основе хеша имени объекта и определенной карты, которая формируется исходя из физической и логической структур кластера (датацентры, залы, ряды, стойки, узлы, диски)
== Как мы отказоустойчивый кластер запускали
https://habr.com/ru/company/first/blog/314106/
== Знакомство с хранилищем Ceph в картинках
https://habr.com/ru/post/313644/
Алгоритм CRUSH (Controlled Replicated Under Scalable Hashing)
- позволяет однозначно определить местоположение объекта на основе хеша имени объекта и определенной карты, которая формируется исходя из физической и логической структур кластера (датацентры, залы, ряды, стойки, узлы, диски)
== Как мы отказоустойчивый кластер запускали
https://habr.com/ru/company/first/blog/314106/
Хабр
Знакомство с хранилищем Ceph в картинках
Облачные файловые хранилища продолжают набирать популярность, и требования к ним продолжают расти. Современные системы уже не в состоянии полностью удовлетворить все эти требования без значительных...
🔥1
== толковый плейлист по кластеру Postgres & Patroni
https://youtube.com/playlist?list=PLprvDkBQwz6YQLJQ_qlm3-gkk-BXYuuR0
== Что такое кластер Postgres, как он работает и для чего нужен Patroni
https://youtu.be/GtHtRyPcmIM
кластер постгреса работает из коробки
split-brain = разделение двух мастеров
постгрес не поддерживает мастер-мастер !
демон патрони занимается синхронизацием знанием о том кто мастер а кто реплика.
база etcd используется как транспорт и состояние для patroni
haproxy просто разруливает трафик на запись и на чтение. его мутирует patroni напрямую
НО хапрокси это единственная точка отказа
pgbouncer множественный коннект к постгресу . АБСОЛЮТНО БЕСПОЛЕЗЕН ЕСЛИ ИСПОЛЬЗУЮТСЯ ПЕРСИСТЕНТНЫЕ КОННЕКШНЫ
нужен только что бы использовать много частых коннекшнов, не создавая их часто физически
НИКОГДА НЕ ПОДНИМАЙТЕСЬ ПО СЕТЕВОМУ УРОВНЮ ЕСЛИ В ЭТОМ НЕТ НЕОБХОДИМОСТИ
https://youtube.com/playlist?list=PLprvDkBQwz6YQLJQ_qlm3-gkk-BXYuuR0
== Что такое кластер Postgres, как он работает и для чего нужен Patroni
https://youtu.be/GtHtRyPcmIM
кластер постгреса работает из коробки
split-brain = разделение двух мастеров
постгрес не поддерживает мастер-мастер !
демон патрони занимается синхронизацием знанием о том кто мастер а кто реплика.
база etcd используется как транспорт и состояние для patroni
haproxy просто разруливает трафик на запись и на чтение. его мутирует patroni напрямую
НО хапрокси это единственная точка отказа
pgbouncer множественный коннект к постгресу . АБСОЛЮТНО БЕСПОЛЕЗЕН ЕСЛИ ИСПОЛЬЗУЮТСЯ ПЕРСИСТЕНТНЫЕ КОННЕКШНЫ
нужен только что бы использовать много частых коннекшнов, не создавая их часто физически
НИКОГДА НЕ ПОДНИМАЙТЕСЬ ПО СЕТЕВОМУ УРОВНЮ ЕСЛИ В ЭТОМ НЕТ НЕОБХОДИМОСТИ
YouTube
Patroni
Share your videos with friends, family, and the world
Forwarded from Записки админа
container-ecosystem.drawio.png
181.7 KB
📝 Docker, Kubernetes, OCI, CRI-O, containerd & runc: How do they work together?
Взял вот в этой статье - An attempt to understand container runtime.
#containers #runc #containerd
Взял вот в этой статье - An attempt to understand container runtime.
#containers #runc #containerd
postgresql_internals-14.pdf
7.5 MB
Это точно сохраню тут
Оглавление книги:
Введение
Часть I. Изоляция и многоверсионность
Изоляция
Страницы и версии строк
Снимки данных
Внутристраничная очистка и hot-обновления
Очистка и автоочистка
Заморозка
Перестроение таблиц и индексов
Часть II. Буферный кеш и журнал
Буферный кеш
Журнал предзаписи
Режимы журнала
Часть III. Блокировки
Блокировки отношений
Блокировки строк
Блокировки разных объектов
Блокировки в памяти
Часть IV. Выполнение запросов
Этапы выполнения запросов
Статистика
Табличные методы доступа
Индексные методы доступа
Индексное сканирование
Вложенный цикл
Хеширование
Сортировка и слияние
Часть V. Типы индексов
Хеш-индекс
B-дерево
Индекс GiST
Индекс SP-GiST
Индекс GIN
Индекс BRIN
Оглавление книги:
Введение
Часть I. Изоляция и многоверсионность
Изоляция
Страницы и версии строк
Снимки данных
Внутристраничная очистка и hot-обновления
Очистка и автоочистка
Заморозка
Перестроение таблиц и индексов
Часть II. Буферный кеш и журнал
Буферный кеш
Журнал предзаписи
Режимы журнала
Часть III. Блокировки
Блокировки отношений
Блокировки строк
Блокировки разных объектов
Блокировки в памяти
Часть IV. Выполнение запросов
Этапы выполнения запросов
Статистика
Табличные методы доступа
Индексные методы доступа
Индексное сканирование
Вложенный цикл
Хеширование
Сортировка и слияние
Часть V. Типы индексов
Хеш-индекс
B-дерево
Индекс GiST
Индекс SP-GiST
Индекс GIN
Индекс BRIN
== 3 Things You Might Not Know About Numbers in Python
https://davidamos.dev/three-things-you-might-not-know-about-numbers-in-python/
не думал бы даже что мне когданибудь пригодится знание о том что можно расширить стандартный класс числа... но оно есть) не могу придумать кейс даже
https://davidamos.dev/three-things-you-might-not-know-about-numbers-in-python/
не думал бы даже что мне когданибудь пригодится знание о том что можно расширить стандартный класс числа... но оно есть) не могу придумать кейс даже
❤1
впрочем неплохой канал. просмотров у него неслабо для математического контента.
плейлист по производным https://youtube.com/playlist?list=PLGtfmJuN1mTA_vI3eLT8jMTEeJ0YDIh-z
== Задачи, приводящие к понятию производной
https://youtu.be/CQpX5f7iIvM
== Определение производной. Геометрический и физический смысл производной.
https://youtu.be/kJE2lqMJe5Q
== Геометрический смысл производной. Уравнение касательной и нормали.
https://youtu.be/KLzq2TTZN34
== Вычисление производных примеры. Самое начало.
https://youtu.be/gIk3EkrYkTg
== Производная сложной функции пример
https://youtu.be/muwAE0Fjlec
== Производная неявной функции примеры
https://youtu.be/7YpyHLHBCw4
плейлист по производным https://youtube.com/playlist?list=PLGtfmJuN1mTA_vI3eLT8jMTEeJ0YDIh-z
== Задачи, приводящие к понятию производной
https://youtu.be/CQpX5f7iIvM
== Определение производной. Геометрический и физический смысл производной.
https://youtu.be/kJE2lqMJe5Q
== Геометрический смысл производной. Уравнение касательной и нормали.
https://youtu.be/KLzq2TTZN34
== Вычисление производных примеры. Самое начало.
https://youtu.be/gIk3EkrYkTg
== Производная сложной функции пример
https://youtu.be/muwAE0Fjlec
== Производная неявной функции примеры
https://youtu.be/7YpyHLHBCw4
YouTube
ПРОИЗВОДНАЯ
Производная и дифференциал. Как найти производную функции? Как продифференцировать функцию? Что такое производная функции? Задачи, приводящие к понятию произ...
== Почему сообщество разработчиков ядра заменяет iptables на BPF?
https://habr.com/ru/company/otus/blog/646335/
Скорость , вот почему
https://habr.com/ru/company/otus/blog/646335/
Хабр
Почему сообщество разработчиков ядра заменяет iptables на BPF?
Примечание автора: это пост многолетнего разработчика сетевых технологий ядра Linux и создателя проекта Cilium Томаса Графа. Сообщество разработчиков ядра Linux недавно анонсировало bpfilter , который...
== Scale Kubernetes to support 50000 services
https://www.slideshare.net/LCChina/scale-kubernetes-to-support-50000-services
Where is the latency generated (IPTables)?
- not incremental
- copy all rules
- make changes
- save all rules back
- IPTables locked during rule update
Time spent to add once rule when there are 5k services (40k rules) = 11min
20k services (160k rules) = 5 hours
https://www.slideshare.net/LCChina/scale-kubernetes-to-support-50000-services
Where is the latency generated (IPTables)?
- not incremental
- copy all rules
- make changes
- save all rules back
- IPTables locked during rule update
Time spent to add once rule when there are 5k services (40k rules) = 11min
20k services (160k rules) = 5 hours
www.slideshare.net
Scale Kubernetes to support 50000 services
Scale Kubernetes to support 50000 services - Download as a PDF or view online for free
Forwarded from Технотренды
[Перевод] Embedded Linux. Отладка ядра
Придя в embedded linux из мира микроконтроллеров, такого привычного инструмента отладки кода, как пошаговая отладка кода на целевой железке с помощью аппаратного программатора, - очень не хватало. В предыдущих статьях описано, как мы учились дебажить загрузчик u-boot: 1, 2. С ядром все оказалось сложнее. Например, выяснилось, что ядро Linux в принципе невозможно скомпилировать с отключенной оптимизацией (-O0). В статье описывается как нам все таки удалось запустить ядро на микропроцессоре ARM в режиме пошаговой отладки.
#linux #guide
Придя в embedded linux из мира микроконтроллеров, такого привычного инструмента отладки кода, как пошаговая отладка кода на целевой железке с помощью аппаратного программатора, - очень не хватало. В предыдущих статьях описано, как мы учились дебажить загрузчик u-boot: 1, 2. С ядром все оказалось сложнее. Например, выяснилось, что ядро Linux в принципе невозможно скомпилировать с отключенной оптимизацией (-O0). В статье описывается как нам все таки удалось запустить ядро на микропроцессоре ARM в режиме пошаговой отладки.
#linux #guide