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

Reply via email to