kafka-proxy | Proxy connections to Kafka cluster | Pub Sub library

 by   grepplabs Go Version: v0.3.6 License: Apache-2.0

kandi X-RAY | kafka-proxy Summary

kandi X-RAY | kafka-proxy Summary

kafka-proxy is a Go library typically used in Messaging, Pub Sub, Docker, Kafka applications. kafka-proxy has no bugs, it has no vulnerabilities, it has a Permissive License and it has low support. You can download it from GitHub.

The Kafka Proxy is based on idea of Cloud SQL Proxy. It allows a service to connect to Kafka brokers without having to deal with SASL/PLAIN authentication and SSL certificates. It works by opening tcp sockets on the local machine and proxying connections to the associated Kafka brokers when the sockets are used. The host and port in Metadata and FindCoordinator responses received from the brokers are replaced by local counterparts. For discovered brokers (not configured as the boostrap servers), local listeners are started on random ports. The dynamic local listeners feature can be disabled and an additional list of external server mappings can be provided. The Proxy can terminate TLS traffic and authenticate users using SASL/PLAIN. The credentials verification method is configurable and uses golang plugin system over RPC. The proxies can also authenticate each other using a pluggable method which is transparent to other Kafka servers and clients. Currently the Google ID Token for service accounts is implemented i.e. proxy client requests and sends service account JWT and proxy server receives and validates it against Google JWKS. Kafka API calls can be restricted to prevent some operations e.g. topic deletion or produce requests.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              kafka-proxy has a low active ecosystem.
              It has 366 star(s) with 70 fork(s). There are 15 watchers for this library.
              OutlinedDot
              It had no major release in the last 12 months.
              There are 26 open issues and 58 have been closed. On average issues are closed in 155 days. There are no pull requests.
              It has a neutral sentiment in the developer community.
              The latest version of kafka-proxy is v0.3.6

            kandi-Quality Quality

              kafka-proxy has 0 bugs and 261 code smells.

            kandi-Security Security

              kafka-proxy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              kafka-proxy code analysis shows 0 unresolved vulnerabilities.
              There are 51 security hotspots that need review.

            kandi-License License

              kafka-proxy is licensed under the Apache-2.0 License. This license is Permissive.
              Permissive licenses have the least restrictions, and you can use them in most projects.

            kandi-Reuse Reuse

              kafka-proxy releases are available to install and integrate.
              Installation instructions, examples and code snippets are available.
              It has 16689 lines of code, 751 functions and 120 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.
            Currently covering the most popular Java, JavaScript and Python libraries. See a Sample of kafka-proxy
            Get all kandi verified functions for this library.

            kafka-proxy Key Features

            No Key Features are available at this moment for kafka-proxy.

            kafka-proxy Examples and Code Snippets

            No Code Snippets are available at this moment for kafka-proxy.

            Community Discussions

            Trending Discussions on kafka-proxy

            QUESTION

            Lagom service consuming input from Kafka
            Asked 2019-Feb-19 at 09:56

            I am trying to figure out how Lagom can be used to consume data from external systems communicating over Kafka.

            I've ran into this section of Lagom documentation, which describes how Lagom service can communicate with another Lagom service by subscribing to its topic.

            ...

            ANSWER

            Answered 2019-Feb-19 at 09:56

            An answer was provided by Alan Klikic on Lightbend discussion forums here.

            Part 1:

            If you are only using external Kafka cluster in your business service then you can implement this using only Lagom Broker API. So you need to:

            1. create API with service descriptor with only topic definition (this API is not beeing implemented)
            2. in your business service configure kafka_native depending on your deployment (as i mentioned in previous post)
            3. in your business service inject service from API created in #1 and subscribe to it using Lagom Broker API subscriber

            Offset commiting, in Lagom Broker API subscriber is handled out-of-the-box.

            Part 2:

            Kafka and AMQP consumer implementations require persistant akka stream. So you need to handle disconnects. These can be done in two ways:

            1. control peristant akka stream by wraping it in an actor. You initialize you stream Flow on actor preStart and pipe stream complete to the actor that will stop it. If stream completes or fails actor will stop. Then wrap actor in actor backoff with restart strategy, that will restart the actor in case of complete or fail and reinitialize the Flow
            2. akka streams Delayed restarts with backoff stage

            Personnaly I use #1 and did not try #2 yet.

            Initializing backoff actor for #1 or Flow for #2 can be done in your Lagom components trait (basically in the same place where you do your subscribe now using Lagom Broker API).

            Be sure to set a consumer group when configuring consumer to ensure avoiding duplicate consuming. You can use, like Lagom does, service name from descriptor as consumer group name.

            Source https://stackoverflow.com/questions/54514400

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install kafka-proxy

            Download the latest release. Move the binary in to your PATH.
            Download the latest release Linux curl -Ls https://github.com/grepplabs/kafka-proxy/releases/download/v0.3.0/kafka-proxy-v0.3.0-linux-amd64.tar.gz | tar xz macOS curl -Ls https://github.com/grepplabs/kafka-proxy/releases/download/v0.3.0/kafka-proxy-v0.3.0-darwin-amd64.tar.gz | tar xz
            Move the binary in to your PATH. sudo mv ./kafka-proxy /usr/local/bin/kafka-proxy

            Support

            Following table provides overview of supported Kafka versions (specified one and all previous Kafka versions). As not every Kafka release adds new messages/versions which are relevant to the Kafka proxy, newer Kafka versions can also work.
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/grepplabs/kafka-proxy.git

          • CLI

            gh repo clone grepplabs/kafka-proxy

          • sshUrl

            git@github.com:grepplabs/kafka-proxy.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link

            Explore Related Topics

            Consider Popular Pub Sub Libraries

            EventBus

            by greenrobot

            kafka

            by apache

            celery

            by celery

            rocketmq

            by apache

            pulsar

            by apache

            Try Top Libraries by grepplabs

            mqtt-proxy

            by grepplabsGo

            kafka-sasl-plain

            by grepplabsJava

            rabbitmq-mv

            by grepplabsGo

            docker-it

            by grepplabsGo