0.2.0 架构扩展设计

Network Filter 扩展

当前能力

todo

背景

  • 目前在 MOSN 中有三种类型的Filter: stream filter、network filter 和 listener filter
  • network filter 设计上支持扩展,并且也有几个内置的扩展实现(proxy、tcpproxy、 fault injection)
    ,但是没有对应的扩展机制来保证,本次改造就是要增加network filter的扩展机制,其中stream filter的扩展机制已经存在,
    network filter以此为参考进行改造

具体改造

  • NetworkFilterChainFactory的方法从CreateFilterFactory修改为CreateFilterChain
  • 原来调用CreateFilterFactory的地方(OnNewConnection) 修改为调用CreateFilterChain,删除buildFilterChain
  • 新增NetWorkFilterChainFactoryCallbacks 用做FilterManager的封装,明确CreateFilterChain可以调用的方法范围
  • 新增NetworkFilterFactoryCreator和filter下的Register
  • activeListener从单个NetworkFilter改为多个NetworkFilter,并且修改对应的生成函数
  • 配置解析支持多个NetworkFilter,并且将starter的逻辑移动到pkg下