Uploaded image for project: 'Community Development'
  1. Community Development
  2. COMDEV-445

Send Apache APISIX log to Apache Pulsar

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • GSoC/Mentoring ideas
    • None

    Description

      Apache APISIX
      Apache APISIX is a dynamic, real-time, high-performance API gateway, based on the Nginx library and etcd.

      APISIX provides rich traffic management features such as load balancing, dynamic upstream, canary release, circuit breaking, authentication, observability, and more.

      You can use Apache APISIX to handle traditional north-south traffic, as well as east-west traffic between services. It can also be used as a k8s ingress controller.

      • Background*

      Pulsar (https://pulsar.apache.org) is a cloud-native, distributed messaging and streaming platform.
      We hope we can produce the access log to Pulsar, like what we have done with Kafka.
      Currently, there is not a Lua client for Pulsar. So we need to write our client first.

      Task
      1. write a lua-resty-pulsar library which works as a producer. Docs:
      https://pulsar.apache.org/docs/en/concepts-clients/
      https://pulsar.apache.org/docs/en/develop-binary-protocol/
      (Note: use websocket or kafka over pulsar is not an option)
      2. write a plugin in Apache APISIX, like: https://github.com/apache/apisix/blob/master/apisix/plugins/rocketmq.lua

      Relevant Skills
      1. Understand Pulsar
      2. Have good skills at C & Lua

      Targets files
      1. https://github.com/apache/apisix/blob/master/apisix/plugins/pulsar.lua
      Mentor
      Zexuan Luo, PMC of Apache APISIX

      Attachments

        Activity

          People

            Unassigned Unassigned
            spacewander Zexuan Luo
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: