Igniters,
I was thinking on enabling Redis protocol with Ignite [1] so that any Redis
client can use Ignite transparently.
Currently I have two ideas.
1. Implement it as a core functionality by adding GridRedisProtocol and
appropriate commands/handlers, similarly to how it is done with REST and
memcached, and use TCP binary protocol of the current implementation. For this
I will probably have to do some refactoring in ignite/internal/processors/rest
by creating ignite/internal/processors/ext to have other external protocols,
like
ignite/internal/processors/ext `-- rest `-- memcached `-- redis
2. Implement it as an external module that is started on a local machine in a
client mode by a user, interpreting Redis commands and sending to the Ignite
cluster.
To be consistent with REST and memcached implementations, I prefer the 1st
approach. Any objections or advice?
Another question -- at first glance memcached protocol is implemented as a part
of REST implementation. For instance, GridTcpRestParser is essentially a
memcached parser. Should it be refactored?
[1] https://issues.apache.org/jira/browse/IGNITE-2788