Микросервисы / распределенные системы
3.78K subscribers
105 photos
1 video
21 files
308 links
Мысли, новости и ссылки по распределенным система и распределенной разработке.

Если есть вопросы или предложения, пишите @sergey486
Download Telegram
Всем привет, есть новости 🙂

14 апреля в онлайн формате проведу на AgileDays воркшоп по Event Storming.

А кто будет 21-го апреля очно, пишите в личку или в комментарии, соберемся/встретимся, можем и спонтанное обсуждение насущных вопросов устроить.
Наблюдения Jim Hurne, technical lead for a "services" team within IBM Watson касательно структуры команд под микросервисы:

Many of the organizations that have successfully applied the microservices style (e.g. Amazon, Netflix) have had a similar internal team structure:
- Teams are responsible for one or more services
- No service is owned by more than one team
- Teams are relatively autonomous and are free to make independent implementation choices, so long as they adhere to the agreed-upon APIs and service contracts.
- Teams contain the complete skill set necessary to support a service from inception to deployment (product management, development, operations, database administration, production support, etc).
- While teams are loosely coupled from internal implementation details, they are tightly aligned on overall organizational goals.
В Архитектурных Этюдах новый кейс.

Проблемой является периодическая недоступность сервиса nalog.ru. Требуется реализовать возможность накопить сообщения и, когда сервис восстановится, закончить проверку…
Кто успел поиграться, как впечатления?

We are excited to introduce Service Weaver, an open source framework for building and deploying distributed applications. Service Weaver allows you to write your application as a modular monolith and deploy it as a set of microservices.

https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.html
Boehm - 1991.pdf
1.3 MB
Нетленная классика, принципы и практики управления рисками от Barry Boehm
Заметки по распределенным системам.

Категории заметок

- Concepts
- Failure Detection
- Leader Election
- Replication Consistency
- Dissemination
- Anti-Entropy
- Gossip
- Distributed Transactions
- Consensus
- Paxos
- Message Queues
- Distributed Locks
- Clustering
- Cache
- Rate Limit

https://tangentyh.github.io/notes-of-tan/backend/distributed.html
A Metrics Suite for Microservices, EventStorming and DDD 👍
Measuring Coupling and Cohesion of Bounded Contexts on an EventStorming Domain Model

https://phillipjohnson.co.uk/a-metrics-suite-for-microservices-eventstorming-and-ddd
Много ссылок по распределенным системам
https://github.com/theanalyst/awesome-distributed-systems
Don’t Share Code Between Microservices

Ключевой тезис: every piece of knowledge must have a single, unambiguous, authoritative representation within a system

Данные не равно знания. И код - не равно знания. Один и тот же код (я имею в виду символы) может означать разное в разных контекстах и одни и те же данные (именно данные, байты) могут означать разное в разных контекстах.

https://www.infoq.com/news/2015/01/microservices-sharing-code/
Software Engineering Institute

The SEI Digital Library provides access to more than 5,000 documents from three decades of research into best practices in software engineering. These documents include technical reports, presentations, webinars, podcasts and other materials searchable by user-supplied keywords and organized by topic, publication type, publication year, and author.

https://resources.sei.cmu.edu/library/

have fun 🙂
Для общего развития и расширения кругозора.

40 Key Computer Science Concepts Explained In Layman’s Terms

To make learning more fun and interesting, here’s a list of important computer science theories and concepts explained with analogies and minimal technical terms. It’s like an ultra-fast-track computer science degree program for everyone, just to get you to understand the general concepts.

https://carlcheo.com/compsci
Когда использовать микросервисы: отвечают Сэм Ньюмен и Мартин Фаулер

https://habr.com/ru/company/piter/blog/723076/
Что такое Event Storming, из каких строительных блоков он состоит и как эти строительные блоки увязываются в единый процесс.

http://agilemindset.ru/что-такое-event-storming/
Постмортемы на все случаи жизни

https://github.com/danluu/post-mortems
Вот так. IaC с помощью OpenAI уже здесь.

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

https://aiac.dev