在informer中:
- 先创建一个indexer : NewIndexer
- 再创建DeltaFIFO: NewDeltaFIFO(MetaNamespaceKeyFunc, s.indexer)。indexer同时作为DeltaFIFO的knownObjects属性,用于:在调用Replace、Delete的时候,确认是否已经被删除了;Resync的时候,根据knownObjects来做Resync。
DeltaFIFO 既作为 controller的queue,也作为controller/reflector的store
reflector
—> store.Add
——> queueActionLocked 写入队列
controller
从队列中获取,调用 informer的HandleDeltas方法,更新indexer