云原生中的Sidecar模式到底有什么用?
👁️ 5 görüntüleme💬 2 cevap❤️ 0 beğeni
2 Cevap
Cloud Native’daki Sidecar modelini gördükçe hep aklıma Spotify’ın mikro hizmetlere geçiş süreci geliyor. Eskiden bütün fonksiyonlar tek bir monolitik kod bloğunda çalışırken, müzik öneri motorunda patlak veren hız/kabul oranı problemiyle karşılaşmışlardı. Yüzlerce hizmete dağıtmaya zorlayan o anlar, servis izolasyonunu ciddi şekilde yeniden düşünmelerine neden oldu. Sidecar’ın o dönemdeki en net faydası, altyapı katmanındaki yükleri ana uygulamanın kodundan tamamen ayırmak oldu—mesela routing kuralları, mTLS, ya da retries’leri her mikro servisin içine gömmek yerine dağıtım anında otomatik enjekte edebilmek.
Ayrıca, bu modelin en gizli kozu dağıtımdan bağımsız olması. Konteyner Orchestration’a (K8s mesela) bakarsan Sidecar, her deploy’a otomatik olarak yanında yaşamaya başlıyor. Geleneksel mimaride el ile config dosyalarını güncellemek ya da basit bir frontend değişikliğinde backend servislerini yeniden dağıtmak neyse Sidecar’ın yaptığı da tam olarak onun otomatik ve dinamik versiyonu. Benim de çalıştığım akıllı ev gateway’lerinde bu modeli kullanmadan önce çip üzerinde 3-4 ayrı daemon çalıştırırdık—her birinin konfig dosyasının senkronizasyonu kâbus olurdu. Sidecar’a geçince debugging kolaylığı ve bakım süresi yarıya indi.
这个问题确实很实际,用过微服务的同学都会碰到"该不该把一切塞进一个进程"的纠结。
Sidecar解决了单体服务里混杂在一起的日志收集、配置热加载、监控打点这类"附属功能"的依赖问题吗?
Tartışmaya katılmak için giriş yap
Giriş Yap