Microservices

Why gRPC for Inter-Microservice Communication.

Reading Time: 3 minutes Hi folks! In this blog we will understand why one should use gRPC for inter-service communication over other RESTful services. What is gRPC? It is a high performance, open source universal RPC Framework. In simple words, it enables the server and client applications to communicate transparently and build connected systems. Google developed gRPC and made available open-source. With it, a customer can directly call methods Continue Reading

Understanding data persistence in Lagom

Reading Time: 4 minutes When we create any microservice, or in general any service, one of the biggest task is to manage data persistence. Lagom supports various databases for doing this task. By default, Lagom uses Cassandra to persist data.

Policy Enforcement using OPA

Reading Time: 3 minutes Hi Guys, In this blog we are going to explore OPA and will run the sample policy on OPA server.The OPA(Open Policy Agent) is an open source, general-purpose policy engine that unifies policy enforcement across the stack. OPA provides declarative language Rego which let us write policy for decision making of micro services. We use OPA for enforcing policies in microservices, kubernetes, API gateways etc.Basically, Continue Reading

Kafka Timestamp Extractor

Reading Time: 3 minutes Hi folks, I hope you all’re doing well, so if you land up here you probably looking for Timestamp Extractor for kafka streams, so whats the buzz is all about? So in this blog we are going to look what it is and would explore it as well, so buckle up. The Timestamp Extractor As per docs, A timestamp extractor extracts a timestamp from an Continue Reading

Aspect Oriented Programming with Spring

Reading Time: 4 minutes What is AOP? Applications are generally developed with multiple layers. A typical Java application has Web Layer – Exposing the services to the outside world using REST or a web application Business Layer – Business Logic Data Layer – Persistence Logic While the responsibilities of each of these layers are different, there are a few common aspects that apply to all layers Logging Security These Continue Reading

Streaming data from Cassandra using Alpakka

Reading Time: 7 minutes Alpakka project is an open-source initiative to implement stream aware and reactive pipelines using Java and Scala which is built on top of Akka streams and specially designed to provide a DSL for reactive and stream-oriented programming with built-in support for backpressure to avoid the flood of data. As a reference, Akka streams supports reactive streams and JDK 9+ compliant implementation and therefore fully interoperable Continue Reading

RAP: Let’s discuss the architecture and technical details

Reading Time: 4 minutes In the previous blog, we discussed the journey and the features of RAP. In this blog, we will discuss the architecture and technical details. RAP Architecture: We have tried to follow the Domain-Driven Design and Reactive principles in designing RAP architecture. All RAP team members completed all the Reactive Architecture courses launched by Lightbend on cognitive classes to ensure adherence to reactive principles. These courses Continue Reading

Passing query parameters through your WebClient

Reading Time: 5 minutes We can use spring-boot:webflux’s WebClient to invoke a third-party service from within our spring boot application. This is asynchronous and reactive method supplied by spring for invoking of unmanaged services. We also saw how we can pass query params when invoking a 3rd party service and which case to chose with our requirements. Be cautious with what you are using and always document what you want and what you created so that things like these can be caught early during the development phase.

RAP: The journey from a learning project to a useful product

Reading Time: 4 minutes A few months back, I was working on interesting customer engagement. Lagom was getting popularity, therefore, I and my few team members wanted to explore it to see if it would suit our needs. Just reading its documentation was not enough to get the proper practical hands-on. So we thought to do a project. The idea was that we should not build a dummy project, Continue Reading