JavaScript to BigData
A programming blog on Emerging Tech
Jstobigdata is a Community for Programmers
The jstobigdata brings you advanced guided tutorials and articles on emerging technologies. It presentss you great tutorials with code examples. Unlike many other popular blogs, Jstobigdata focuses on practical oriented tutorials with depth knowledge. This blog is for programmers as well as technology enthusiasts. The content on this site can be broadly categoriesed as Tutorials and Blog articles.

Browse the popular Tutorials
Top Blog Articles
Complete RabbitMQ Tutorial in Java
Complete RabbitMQ Tutorial in Java with Spring Boot example This is a RabbitMQ Course in Java with asynchronous messaging examples using rabbitmq-java-client, Spring Boot and Spring AMQP. This is a programming course, it focuses more on the asynchronous programming than the admin UI. I have tried to keep the tutorial up-to-date with the latest Java trends. Code Examples [Read More]
Advanced JPA Tutorial with Hibernate
This is an advanced JPA tutorial with hibernate 5.x. JPA stands for Java Persistence API. It is the official java specification to work with an ORM tool. Learn JPA 2.2 with Hibernate 5.x in the right way and with a lot of code examples. Prerequisites Programming knowledge in Java.Basic knowledge of JDBC programming.JDK 8 installed on your system.Apache Maven 3.3 [Read More]
Advanced Docker Tutorial
Advanced Docker tutorial is a complete docker tutorial with examples. This is a Zero to Hero series, to make you up and running with docker. I have created this tutorial to give you an in-depth understanding of docker and docker-compose. Docker provides a consistent way to develop, package, ship and run an application on almost any platform. You will learn [Read More]
Advanced Maven Tutorial
Maven Tutorial - A complete tutorial with code examples. This tutorial is an advanced maven tutorial meant to make you a Hero in Apache maven. Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting, and documentation from a central piece of information. [Read More]
Spring @Import and @ImportResource annotations
In this tutorial, you will learn to use Spring @Import and @ImportResource annotations to import configurations from java-config class and XML configurations respectively. These annotations work well with @Configuration annotations. Make sure you have a clear understanding of the ways to do Dependency Injections in Spring and the other related concepts. Check the related article on Inversion of Control and [Read More]
Introduction to Microservices Architecture
This is a long boring introduction to Microservices Architecture, I will try to make it as relevant and interesting as possible. You will learn the differences between Monolithic and Microservices architecture. The various strategies used to decompose a Monolithic system into Microservices based architecture. It is difficult to give you an overview of this architecture in a single article, but [Read More]
The API Gateway Pattern in Microservices
An API Gateway acts as a proxy between the Client Apps and the microservices endpoints. I have explained in the previous article (Introduction to Microservices Architecture), that each microservice exposes a set of fine-grained endpoints. Each of these services can be hosted on a different server, hence exposing different host URLs. In this article, we will explore the need for [Read More]
Service Discovery Patterns in Microservices
In a real-world situation, due to various reasons like auto-scaling and fault tolerance mechanisms, often you will need to spin up and spin down various applications (containers). Because of this, their locations like IP addresses, Hostnames, etc may change. For this reason, DNS - with its time-to-live expiration values - may be a poor fit for service discovery and location. [Read More]
Circuit Breaker Pattern in Microservices
The way one service talks to another service in the Microservices world, is via network calls like gRPC, HTTP, or event-driven mechanisms. One major difference between in-memory calls and network calls (remote calls) is that the remote calls can fail, and the remote server may not even respond until a timeout happens. Just imagine someone placing an order on an [Read More]
Direct Exchange in AMQP – RabbitMQ
This article focuses on the Direct Exchange type (amq.direct) in RabbitMQ. You will learn to bind a Queue with an Exchange using a routing key. You have already learned about Exchanges and Queues in the Elements of RabbitMQ. The diagram here explains a producer sends a message to my-direct-exchange , there are 3 Queues bound to this exchange with 3 [Read More]
Add Newly Created Partitions Programmatically into AWS Athena schema
Problem Statement Amazon Athena uses a managed Data Catalog to store information and schemas about the databases and tables that you create for your data stored in Amazon S3. In the case of tables partitioned on one or more columns, when new data is loaded in S3, the metadata store does not get updated with the new partitions. You need [Read More]
A high-level introduction to Spring Framework
What is the Spring Framework? The age-old answer to this question is, "Spring is a Dependency Injection Framework". In reality, it is much more than that. Spring is the most popular Java Enterprise application development framework, it comes with many tools and libraries to solve almost any problem in the java world. May it be microservices or a simple database-driven [Read More]
Exchange to Exchange binding in RabbitMQ
It is possible to bind an Exchange to another Exchange just like Exchanges to Queues bindings. An exchange can be bound with another exchange with the source routing rules. The destination exchange finally routes the messages to the Queues bound to it. We will take 2 Exchanges as an example, home-direct-exchange as source and linked-direct-exchange as the destination exchange. The [Read More]
Headers Exchange in AMQP – RabbitMQ
Headers Exchange Type is the most powerful exchange type in AMQP (RabbitMQ). Headers exchanges route a message based on the message headers matching, they ignore routing keys. The diagram here represents 3 Queues (HealthQ, SportsQ, and EducationQ) are bound to the Headers Exchange (my-header-exchange) with JSON like headers. We will discuss each of these headers below in detail. The flow [Read More]
Default Exchange in AMQP – RabbitMQ
Default Exchange in RabbitMQ is not a special type of Exchange in RabbitMQ like Direct Exchange or Topic Exchange. It is a special Direct Exchange with an empty name. In the Elements of AMQP article, you have sent a message directly to a Queue using the empty Exchange name. This is where Default Exchange comes to play. The below image [Read More]
RabbitMQ with Spring AMQP and Spring Boot
In this tutorial, we will explore the use of Spring AMQP to communicate with the RabbitMQ messaging middleware. All the previous article code examples are based on the RabbitMQ-Java-Client library. Spring AMQP also makes use of the same library, however, it provides a practical oriented approach to communicate with RabbitMQ. If you are already familiar with Spring stack, then you [Read More]