Grails

Grails ships with several Built-In Tenant Resolvers. However, you can create your own. In this Grails Guide, you learn how to create a custom tenant resolver and use Grails Multi-Tenancy capabilities to switch tenants on a REST-API app based on the current logged user JWT(JSON Web Token).

This guide continues the previous one. It shows how to create Multi-Datasource dynamically. When a user registers, a new data source connection is registered dynamically. The app uses Grails Multi-Tenancy capabilities in DATABASE mode.That it is to say, when a new user register, a new database is wired-up for the new tenant.

When you picture how microservices communicate, you are probably thinking about an exchange of HTTP requests between each other. @bitboss in his talk at GR8Conf EU explains the problems you may face if you choose that route ( Service discover, timeouts, Errors, Latency, Load Balancing, Stability ...). He pitches the use of an Event-Driven Architecture.

Moreover, he praises Grails Events system. He demos how to replace a Spring Boot microservice with a Grails application in an application composed of several microservices. He shows how to use RabbitMQ Native Plugin and Grails Events. Sample Repository.

Architecture

Steve discusses many challenges (Logging, Monitoring) and things to bear in mind (how many technologies/programming languages should my team support in a microservices architecture?, Should I share code between my microservices), should the microservices communicate using events or HTTP requests?.

If you are planning to use microservices, this is a talk worth watching to get a better understanding of the territory you are about to enter.

@dhreines talks about what does it mean to embrace microservices for an organization.

In order to realize the many benefits of a microservice platform, organizations must ensure all stakeholders completely understand the platform’s vision and how to effectively deliver solutions under the new paradigms.