Hey, guys. It's kinda quiet here so I thought I'd ask for some thoughts...
I recently got put on a relatively small project that's nicely utilizing a microservices architecture. There are about 8-10 services and they're using Kafka. The whole thing is about 10k lines of Kotlin, and they do use Camel but without any Spring whatsoever ("old school" Camel). Each service is containerized and deployed to the same node. This is the first time I've been exposed to Kotlin and (besides thinking Kotlin is the ugliest thing I've seen since Perl and that it's wicked over-hyped in terms of its supposed greatness over Java) I can't help but think that I could turn this entire pipeline into a single, Java-based, Spring Boot + Camel app in about a third of the code. I could effectively (and efficiently) recreate the pipeline with some simple Camel routes and processor/service/bean calls, and get rid of the message bus altogether. The Kotlin classes contain some simple logic branching based on the message type, and that could all be pulled out into the Camel routes as well. Has anyone done anything like this, refactored a multi-process MSA pipeline into a smaller, single Camel app? What are the pros and cons? The only "con" I can see is that the MSA approach can conceivably be scaled up depending on the data rates (i.e. use OpenShift to fire up more services as needed) whereas Camel can't (I think?) do that? Just curious... Happy Monday.