07|client-go进阶玩法之Informer机制

List && Watch
- 深入了解
- 翻译
- 解释
- 总结

1. Informer 机制是 client-go 中的一套对 List && Watch 做了封装的工具,可以通过监听增删改事件来更新缓存中的资源状态,从而在查询操作时可以从本地缓存中获取最新资源状态,无需访问 API Server。 2. List && Watch 是 Kubernetes 为我们提供的查询资源的两种方式,List 是一次性的列出资源,而 Watch 是持续观察资源变化的方式。 3. SharedInformer 是 client-go 中提供的一种更灵活的 Informer 模型,可以绑定多个 Handler,从而避免与 API Server 建立多条链路,减小资源开销。 4. SharedInformerFactory 是 SharedInformer 的工厂,可以创建监听不同资源的 SharedInformer,并共享同一个大门(链路)。 5. Informer 机制可以帮助减少对 API Server 的访问压力,提高查询效率,适用于需要频繁查询资源状态的业务场景。 6. 在类似 Kubernetes 资源管理系统的前后端分离架构中,使用 REST API 进行通信时,Informer 机制可以结合 WebSocket 技术,实现前端资源列表的动态刷新,提升数据同步的实时性和用户体验的流畅度。 7. SharedInformerFactory 可以使用 GVR 来创建 Informer,实现监听多个资源的功能。 8. SharedInformerFactory 可以结合上一小节的 RestMapper,实现当用户传入 resource = pods 时,创建出监听 pod 的 Informer。 9. 在使用 Informer 时,需要注意在主程序中使用 select{} 将主程序阻塞,避免 Informer 还未启动好,主程序就结束退出。
《AI 重塑云原生应用开发实战》,新⼈⾸单¥59
全部留言(1)
- 最新
- 精选
- stevensafin跟 AI 有什么关系?
作者回复: 为AI Agent提供工具
2024-12-27归属地:海南