Hello,

To the best of my knowledge, there is no Redis support in Log4j 2.x NoSQL
Appenders. (Please correct if I'm wrong.) I want to create a JIRA ticket
and start working on a RedisAppender. Though I do have some questions and
will appreciate your feedback.

   1. I plan to use Jedis <https://github.com/xetorthio/jedis> for client
   and perform no shading/relocation. Objections?
   2. I want to introduce throttling via Guava's RateLimiter. Is that ok?
   3. I am thinking of a background worker Thread periodically polling an
   ArrayBlockingQueue with a fixed size. This will help me to facilitate the
   following features:
      1. Queue will act as a buffer addressing temporary produce-consume
      rate mismatch.
      2. Background thread will create batches out of the queue, rather
      than individual inserts.
      3. Periodic polling will ensure that we avoid starvation when not
      enough messages for a batch.
   4. I will allow comma separated multiple <host>:<port> pairs to allow
   fail-over. That is, I will create a Jedis client for each <host>:<port>
   pair and try them in given order in case of a failure.

I'm planning to make a pitch on Monday to have some *company time* for this
story. So please do let me know of what you think.

Best.

Reply via email to