Lessons learnt from going reactive with Reactor
Apache James is a mail server with a long history. A huge part of its work is to deal with Inputs Outputs (IMAP, SMTP, Jmap, Cassandra, RabbitMQ, AWS S3, and so on), in order to speed up James, lots of parallelisms have been introduced. All went fine until have discovered that the parallelism was killing our performances.
At this point, we have decided to go reactive with Reactor, here is what we have learned.