Book Image

Building Microservices with Micronaut®

By : Nirmal Singh, Zack Dawood
Book Image

Building Microservices with Micronaut®

By: Nirmal Singh, Zack Dawood

Overview of this book

The open source Micronaut® framework is a JVM-based toolkit designed to create microservices quickly and easily. This book will help full-stack and Java developers build modular, high-performing, and reactive microservice-based apps using the Micronaut framework. You'll start by building microservices and learning about the core components, such as ahead-of-time compilation, reflection-less dependency injection, and reactive baked-in HTTP clients and servers. Next, you will work on a real-time microservice application and learn how to integrate Micronaut projects with different kinds of relational and non-relational databases. You'll also learn how to employ different security mechanisms to safeguard your microservices and integrate microservices using event-driven architecture in the Apache Kafka ecosystem. As you advance, you'll get to grips with automated testing and popular testing tools. The book will help you understand how you can easily handle microservice concerns in Micronaut projects, such as service discovery, API documentation, distributed configuration management, fallbacks, and circuit breakers. Finally, you'll explore the deployment and maintenance aspects of microservices and get up to speed with the Internet of Things (IoT) using the Framework. By the end of this book, you'll be able to build, test, deploy, and maintain your own microservice apps using the framework.
Table of Contents (20 chapters)
Section 1: Core Concepts and Basics
Section 2: Microservices Development
Section 3: Microservices Testing
Section 4: Microservices Deployment
Section 5: Microservices Maintenance
Section 6: IoT with Micronaut and Closure

What this book covers

Chapter 1, Getting Started with Microservices Using the Micronaut Framework, kicks off with some conceptual fundamentals on microservices and microservices design patterns. You are then introduced to the Micronaut framework and why this is the ideal framework for developing microservices. Later, you will get hands-on with the Micronaut framework by working on hello-world projects using Maven and Gradle.

Chapter 2, Working on Data Access, covers aspects of working with various kinds of database and persistence frameworks. You will begin with an object-relational mapping framework while doing a hands-on Hibernate framework and then dive into using a persistence framework (MyBatis). Finally, you will also integrate with a non-relational database (MongoDB).

Chapter 3, Working on RESTful Web Services, starts with a discussion on data transfer objects and mappers. You then dive into working with RESTful interfaces in the Micronaut framework. Later, you will learn about Micronaut's HTTP server and client APIs.

Chapter 4, Securing Web Services, covers various approaches in securing web endpoints in the Micronaut framework, such as session authentication, JWT, and OAuth.

Chapter 5, Integrating Microservices Using Event-Driven Architecture, starts with event-driven architecture and two different models for event publishing: a pull model and a push model. You then dive into event streaming and using Apache Kafka for integrating two microservices in the pet-clinic application (sample project).

Chapter 6, Testing the Microservices, sheds some light on various kinds of automated testing – unit testing, service testing, and integration testing, and how to employ these testing techniques in adopting a prudent automated testing policy to reduce cost and increase the robustness of microservices.

Chapter 7, Handling the Microservices Concerns, covers some core concerns while working on the microservices, such as distributed configuration management, documenting service APIs, service discovery, and the API gateway. Later, you also explore the mechanisms for fault tolerance in the Micronaut framework.

Chapter 8, Deploying the Microservices, covers the build and deployment aspects of microservices. You will kick things off by building the container artifacts using an automated tool and then leverage Docker Compose to deploy the microservices.

Chapter 9, Distributed Logging, Tracing, and Monitoring, throws light on implementing the observability patterns in microservices with distributed logging, distributed tracing, and distributed monitoring.

Chapter 10, IoT with Micronaut, jumpstarts with an introduction to IoT with Alexa, covering Alexa fundamentals and a hello-world example. Later, you will be able to integrate Micronaut with Alexa while working on the pet-clinic application.

Chapter 11, Building Enterprise-Grade Microservices, covers the best practices for working on the microservices and how to build and scale enterprise-grade microservices.