Жабаскрипт (веде Віктор Турський) | Service Weaver - концепція модульного моноліту від GoogleВ продовження...

Logotipo de la comunidad de telegram - Жабаскрипт (веде Віктор Турський)
2021-07-06

Жабаскрипт (веде Віктор Турський)

Número de suscriptores:
4638
Fotos:
23 
Videos:
Enlaces:
288 
Categoría:
Tecnologías
Descripción:
Авторський контент для JavaScript розробників, але не завжди про JS:). Пишу про архітектуру, best practices, продуктивність, безпеку, інструментарій. Viktor Turskyi (@koorchik), Cofounder at Webbylab, SWE at Google Рекламу не розміщую!

Canal Жабаскрипт (веде Віктор Турський) - @jabascript - №243

Service Weaver - концепція модульного моноліту від GoogleВ продовження теми моноліти чи мікросервіси хотів поділитися новиною про новий фреймворк від Гугл. Фреймворк для Go, але нас в першу чергу цікавить сам підхід. Основна ідея, що він розділяє процес деплойменту й процес написання коду. Тобто ми пишемо моноліт, який можно задеплоїти як мікросервіси. Я в Гуглі теж використовую схожий фреймворк.Що Гугл думає про моноліти й мікросервіси:While writing microservices-based applications, we found that the overhead of maintaining multiple different microservice binaries—with their own configuration files, network endpoints, and serializable data formats—significantly slowed our development velocity. More importantly, microservices severely impacted our ability to make cross-binary changes.As a result, we wished we had a single monolithic binary to work with. Monolithic binaries are easy to write: they use only language-native types and method calls. They are also easy to update: just edit the source code and re-deploy. They are easy to run locally or in a VM: simply execute the binary.Тобто хочеться писати моноліт й мати можливість його легко рефакторити (в мікросервісах переміщувати код між сервісами складно, а міняти API ще складніше), релізити цілим бінарем (в мікросервісах треба думати про сумісність сервісів), менеджерити один конфіг (а не для кожного мікросервісу окремо), не паритися з сервіс дісковері, трейсебіліті, не мати оверхеду на RPC поки це не стано реально потрібне та великою кількістю інших проблем.Service Weaver якраз намагається розідлити те, як ми пишем код й як він потім запускається. Пост про фреймворк - https://opensource.googleblog.com/2023/03/introducing-service-weaver-framework-for-writing-distributed-applications.htmlPS: в цьому контексті він мені дещо нагадує підходи в Python WSGI, Perl PSGI, Ruby Rack (дивно, що такого не зробили в NodeJS), але йде значно далі - не тільки абстрагує запуск компонента, але цілої системи й внутрішньої взаємодії
1000
23-03-03 07:41