• E
    [Pulsar-IO] Add Netty Tcp Source Support (#3179) · 576609b0
    Eren Avsarogullari 提交于
    ### Motivation
    Netty is NIO client server framework by supporting asynchronous event-driven communication and custom protocol implementation.
    Ref: https://netty.io/
    
    This PR proposes Pulsar-IO Netty Source Connector by aiming the Tcp clients. It enables an embedded Tcp Server to listen incoming Tcp messages and writes them to user-defined Pulsar topic.
    
    There are also other potential use-cases(Tcp, Http and Udp messages) for this module as follows:
    - Tcp Client (Pulsar-IO Sink): It can listen Pulsar messages and can write to remote Tcp Server.
    - Http Server and Client (Pulsar-IO Source and Sink)
    - Udp Server and Client (Pulsar-IO Source and Sink)
    
    This is following PR with #3095. Module has been rolled to Pulsar-IO in the light of the previous discussion.
    
    ### Modifications
    1- `NettyTcpServer`: Initializes an embedded Tcp Server to listen incoming Tcp Requests
    2- `NettyTcpServerHandler`: Inbound Channel Handler to handle incoming Tcp Requests
    3- `NettyChannelInitializer`: Channel Initializer to support different types of decoders and handlers
    4- `NettyTcpSource`: A push-based Source to listen Tcp messages and write them to user-defined Pulsar topic
    5- `NettyTcpSourceConfig`: To support user-defined config for both Map and Yaml. 
    6- UT Coverages
    576609b0
pom.xml 1.8 KB