Dealing with the challenges faced when using Apache Kafka

Event-driven architecture is one of the ways to implement interprocess communication between some services in a microservice architecture. A message-based application typically uses a message broker which acts as an intermediate layer between the services.

Apache Kafka is one of the tools which allows implementing a broker-based messaging approach. This…


NestJS is an amazing tool that allows building enterprise scalable server-side applications. It’s a flexible framework and has a lot of built-in features that significantly simplify the development process.

Despite that NestJS has well-written documentation, I’ve paid attention that for newcomers in this framework, it’s not so easy to glue…


Review JS evolution when jQuery was still alive until nowadays

What was before

Recently, JS has been called a toy language, the business logic mainly implemented on the backend side. JS is used only for adding some kind of simple interactivity with users that aren’t required a massive knowledge base.

In the past, FE JS developers should have known only the jQuery library…


How to Prevent Anomalies in Distributed Transactions with Saga Pattern.

One of the significant issues of building microservice architecture is to provide a distributed transaction mechanism involving several independent services. One solution is to use Saga Pattern, and you may read this article to get more insight into how it works; link here.

When we build a monolithic application with…


SKIP operation is a commonly used operation in DB queries. Everything will be good when your application leverages a small amount of data, but it may be a bottleneck as soon as application data grows. Therefore, sometimes it’s critical to take into account in advance.

Features where SKIP operation may be used

Probably, the most common feature…


Power up your web apps with promises

Light moving fast, signifying speed

1. Emulate a Delay

Sometimes we need to emulate a particular delay between some actions. It’s pretty easy to implement using the following code:

The usage of this util function is as follows:

async function(){
console.log('The first log');
await delay(1000);
console.log('The second log with 1000 ms delay')
}

As an output, we’ll see…


JavaScript is a single-threaded language, which means if we start completing the long-running task, it blocks another part of the application to be completed. On the front-end side, it means that UI will be frozen what definitely is an irritating part for users. On the server-side, it means that the…


Using MongoDB Indexes to Improve MongoDB Query Performance

Indexes help to handle slow queries. If there weren’t indexes, the database would scan all documents in a collection to find targeted ones. The more documents in a collection, the more slowly query will be.

Indexes may be considered as an array of sorted keys in ascendance/descending order where each…


Recursion allows solving problems by decomposing them into small ones. The recursive function always contains two parts:

  • base case — it’s terminating condition where a recursive function computes the particular value without invoking the recursive function itself
  • recursive case — part of the function which invokes itself

The most important…


It’s a set of articles that go you along throw possible ways to build Multi-Tenancy Architecture using React and Auth0. We will implement POC (Proof Of Concept) for each available option and highlight the pros and cons for each of them. It gets you clear insight into which options to choose for your current project.

Content of article series:

  1. Auth0 Multi-Tenancy with React. Part1: Introductory word
  2. Auth0 Multi-Tenancy with React. Part2: Multi-tenancy with one Auth0 tenant attaching tenant-specific metadata to the user
  3. Auth0 Multi-Tenancy with React. Part3: Multi-tenancy with multiple DB Connections — We are reading this article now
  4. Auth0 Multi-Tenancy with React. …

Vladimir Topolev

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store