BufWriter<Master<'_>> – Telegram
BufWriter<Master<'_>>
105 subscribers
451 photos
28 videos
34 files
1.7K links
https://www.patreon.com/alxe_master

Видео/статьи. Конспект и мои вольные комментарии по инженерии. тут только то, что считаю полезным для себя или других =)

#os, #cloud, #rust, #golang, #python, #javaScript, #cpp, etc
Download Telegram
Никита Коваль — На пути к быстрой многопоточной хеш-таблице
https://www.youtube.com/watch?v=BpgL2LGEhP4
Хэштаблица самая популярная структура в разработке
#java

ConcurentHashMap
+ O(1)
- использует блокировки (сложно масштабируется)
- хранит списки при коллизии (лишние кэшмиссы)
+ вместо списков хранит дерево пр ипостоянных коллизиях

ConcurentSkipListMap
+ O(log N)
+ это дерево списков
- много лишних обьектов
- постоянные кэшмиссы
- нагружает GC
- не хэш таблица

NonBlocingHashMap
+ lock-free
И собственно в докладе примеры и понимание почему высокий профит от подхода
Introducing Domain-Oriented Microservice Architecture

https://eng.uber.com/microservice-architecture/

и перевод

https://habr.com/ru/company/flant/blog/514830/
https://ru.wikipedia.org/wiki/%D0%97%D0%B0%D0%BA%D0%BE%D0%BD_%D0%9A%D0%BE%D0%BD%D0%B2%D0%B5%D1%8F

«Организации проектируют системы, которые копируют структуру коммуникаций в этой организации»

ВАУ. прям немного шатает разум как трубу от этого)
https://www.the-paper-trail.org/post/2008-08-13-a-brief-tour-of-flp-impossibility/
Реальная система консенсуса не может быть одновременно
- асинхронна
- детерминирована
- отказоустойчива
Что бы она по-настоящему работала всегда надо хотябы в одном из пунктов иметь допущения. (Например рандомные таймеры)
#net вечно забываю
https://ru.wikipedia.org/wiki/Maximum_transmission_unit

MTU - максимальная единица передачи - максимальный размер полезного блока данных одного пакета, который может быть передан протоколом без фрагментации

увеличение пропускной способности в контексте длин пакетов:
- Уменьшение межкадрового интервала. Для Fast Ethernet он по умолчанию равен 0,96 мкс за который могло бы быть передано 12 байт.
- Сжатие заголовков. (сжатие заголовков TCP/IP Якобсона).
- Сжатие нагрузки низкого уровня. (IP Payload Compression Protocol)
- Решение проблемы передачи небольших данных (tinygram problem) за счёт придерживания в буфере малых данных, чтобы отправить один большой пакет. (алгоритм Нейгла)

Path MTU - наименьший MTU на пути следования пакета в сети.
Product Architecture Framework
A clear view of your product.

http://productframework.ru/

наверное лучшая ссылка со структурированной информацией где почти все есть о том как развивать продукт,

в видео очень хорошо представлено и обьяснены основны
https://www.youtube.com/watch?v=wRvAle3bXoU&feature=emb_logo

когда то собирал все это по крупицам. а тут все и сразу
тут соберу ссылки по Patroni

- собственно репо проекта
https://github.com/zalando/patroni

- Доклад Отказоустойчивый PostgreSQL кластер с Patroni
https://pgconf.ru/2017/93520

- PostgreSQL на базе Patroni, HAProxy и Keepalived
https://ru.bmstu.wiki/index.php?noscript=PostgreSQL_%D0%BD%D0%B0_%D0%B1%D0%B0%D0%B7%D0%B5_Patroni,_HAProxy_%D0%B8_Keepalived&mobileaction=toggle_view_mobile

- Как мы построили надёжный кластер PostgreSQL на Patroni
https://habr.com/ru/company/mailru/blog/452846/

- Отказоустойчивый кластер PostgreSQL + Patroni. Опыт внедрения https://habr.com/ru/company/miro/blog/457326/

- Построение кластера PostgreSQL высокой доступности с использованием Patroni, etcd, HAProxy https://habr.com/ru/post/482314/

- PostgreSQL на K8s в Zalando: два года в бою / Александр Кукушкин (Zalando SE) https://www.youtube.com/watch?v=33424uhD1ng&feature=emb_logo
https://99designs.com/
надо бы себе сохранить эту ссылку. можно решать вопросы с логотипами, вебдизайном проще, особенно когда не могу найти дизайнера. нужно описать задачу, накидать что нужно и как выглядит примерно. и 50 дизайнеров возьмуться за работу. лучшего - выбрать и заплатить денег. шикарно
#design
Философия Devops в пяти словах
CA(L)MS
Culture
Automation
Lean
Measurement
Sharing
https://tlbh.it/
TLB hit is a podcast about systems and compilers
Шина I2C - Inter-Integrated Circuit

- база https://www.youtube.com/watch?v=_iSXkCWJKKM

- лекция https://www.youtube.com/watch?v=_4KD29qnhNM

разработана Филипсом еще 1980 году

SDA - Serial DAta
SCL - Serial CLock

ограничение = 127 устройств с уникальными айди. 100кбит/сек или 10мбит/сек (для новой ревизии шины)

Запись
- старт флаг
- 7бит адрес
- Флаг запись = 0
- подтверждение слэйва
- байт данных
- подвержение (0) / отказ (1)
...
- стоп флаг

Чтение
- старт флаг
- 7бит адрес
- флаг чтение = 1
- подтверждение слэйва
- байт данных от слэйва
- подтвержение мастера
...
- байт данных от слэйва
- отказ мастера
- флаг стоп

Wiki https://ru.wikipedia.org/wiki/I%C2%B2C
физическая шина 1-wire (Microlan)
= Низкоскоростная полудуплексная сеть.

+ Каждое устройство питается от самой шины
+ малая потребляемая энергия
+ минимальное количество проводов для работы
- низкая скорость

4мкс задержка для начала. но что бы точно все было ок стартавать нужно с 12-15мкс

на канальном уровне
1) вначале идет команда
2) Адрес устройства 8байт
- 1 байт = тип
- 6 байт = адрес
- 1 байт = контрольная сумма CRC1

https://www.youtube.com/watch?v=p1qDHMUetHQ