Из джуна в Архитектора | Yoda
292 subscribers
10 photos
59 links
Канал про рост в IT: лучшие практики , паттерны, Микросервисы, Архитектура, PHP и GO от Master Yoda.

Author: Andrei Pisarevskii
Author's telegram: @renakdup
Site: https://wp-yoda.com/
Download Telegram
Разработчики Go часто хвалят структурную типизацию как одно из самых элегантных решений языка. Она делает код гибче, уменьшает бойлерплейт и позволяет легко использовать интерфейсы без лишних зависимостей.

Однако у этой простоты есть обратная сторона. В крупных проектах и командной разработке структурная типизация способна привести к неожиданным ошибкам, неявным связям и трудностям при рефакторинге.

Разберёмся, что такое структурная типизация в Go и почему она не всегда является преимуществом.

Читать подробнее

#golang #go
🐳1💯1
Список популярных проектов на GitHub, связанных с Go ORM.
Будет полезен при выборе ORM на проекте.

Смотреть на GitHub

#golang #go #orm
🤔2
Безопасные миграции MySQL: pt‑online‑schema‑change и gh‑ost без простоя

#db #migrations #mysql

Читать подробнее
👀2👍1
Скрытые проблемы микросервисов: когда монолитные архитектуры экономят время и деньги.

Стартап серии B - 23 микросервиса. 10 000 активных юзеров в день.
Счет от AWS: $47 000 в месяц.

После объединения в 4 сервиса: счет сократился до $18 000 в месяц.
Итого: $348 000 экономии в год. Никакой магии, оптимизации кода или кэширования.

Просто признание факта: микросервисы им были не нужны.

Читать статью


#microservices #architecture
🔥5👍1
Как я собрал себе «второй мозг» в Obsidian (и почему это лучшая инвестиция времени)

3 месяца назад мои заметки были хаосом. Идеи терялись, цитаты забывались, а прочитанные книги просто проходили мимо, не оставляя следа.
Особенно было обидно за прочитанные книги, я конечно использовал электронную книгу с возможностью выделения абзацев маркером, но Obsidian вывел конспектирование на новый уровень.

Мой мозг пытался удержать всё сам - и, естественно, проваливал эту задачу. Данные со временем забывались.

Решение нашлось в концепции второго мозга (Building a Second Brain, Tiago Forte) и приложении Obsidian.

Читать статью

#obsidian #второй_мозг
🔥7👍1🤓1
Raft - алгоритм консенсуса для отказоустойчивых систем.

Raft - это алгоритм консенсуса, предназначенный для управления реплицируемым логом в распределенных системах.

Объясняя простыми словами: это протокол, который помогает группе серверов договориться между собой об общем состоянии: выбрать главный сервер и обеспечить консистентность данных между узлами, даже если некоторые из них выйдут из строя.

Давай поговорим про него подробнее.

Читать статью


#distributed_systems #databases #распределенные_системы
🔥3🍌1
Transactional Outbox паттерн в Event Driven системах

Transactional Outbox паттерн - используется для надежной публикации событий, когда нужно одновременно сохранить изменения в БД и отправить сообщение в брокер.

В распределенных системах нельзя объединить в транзацию сохранение данных в БД и отправку события в брокер сообщений, т.к. это 2 разных системы не объединенные общей системой транзакционности. И правило атомарности для двух операций вместе не действует.

Для решения этой проблемы нам приходит на помощь Transactional Outbox паттерн.

Читать статью

#distributed_systems #microservices #микросервисы #event_driven
🔥3👎1🐳1💊1
IO devices and latency

Совершите интерактивное путешествие по истории устройств ввода-вывода и узнайте, как задержка устройств ввода-вывода влияет на производительность.

Читать статью

#storage #latency
🔥2👍1💊1
Многие слышали про Load Balancer (балансировщик нагрузки между инстансами приложения).
Но кто-то задавался вопросом, а кто будет балансировать балансировщик?
Ведь если этого не сделать то у нас будет система SPOF (Single Point of Failure) и все приложение не будет работать, если пока упавший балансировщик будет подниматься.
Для High Availability систем это может быть очень критично.

На неделе решил детальнее разобраться и написал небольшую статью про DNS от основ до балансировки: RoundRobin, GeoDNS, GSLB.

Читать статью

#dns #geodns #high_availability
🔥41