In the previous articles, we looked at Publish–Subscribe and Request–Reply patterns in NATS. Pub/Sub is great for broadcasting messages to many subscribers, while Request–Reply is perfect for one-to-one communication. But what if you want to distribute messages across a group of workers so that only one of them processes each message? This is where Queue…
Request–Reply in NATS: One-to-One Messaging
In the previous article, I explained the Publish–Subscribe pattern in NATS, which is great for broadcasting messages to many subscribers. But sometimes you need a different style: you want to send a message and get a response back. This is where the Request–Reply pattern comes in.
Publish–Subscribe in NATS: Simple and Powerful Messaging
In the previous article, I wrote an overview of NATS and NATS JetStream. Before we go deeper into advanced topics like scalability and reliability, it’s important to understand the most common messaging pattern in NATS: Publish–Subscribe. What is Publish–Subscribe? Publish–Subscribe (or pub/sub) is a way of sending messages where: It’s a decoupled system: the publisher…
NATS JetStream: Persistence and Streaming Made Simple
In the previous article, I wrote an overview of NATS, explaining what it is, how it works, and why developers use it for building distributed systems. If you are new to NATS, I recommend reading that article first because it covers the basics like subjects, publishers, and subscribers. In this article, let’s go a bit…
Introduction to NATS: A Lightweight Messaging System
Why Messaging Systems Matter In modern software, applications rarely work alone. A mobile app might need to talk to a backend service. That backend service might need to talk to a payment gateway, and the payment system may need to update analytics. Instead of building a direct web of connections, developers often use a messaging…
Playing with VPC AWS (Part 2): Key Pair and Instance
In previous article we discuss about how to create VPC, subnet, Internet gateway, route tables, NAT device, and security group. In this session I would like to discuss about how to create instance in AWS and connecting all of the stuff that we created. I strongly suggest to read Playing with VPC AWS (Part 1)…
Playing with VPC AWS (Part 1): VPC, Subnet, Internet Gateway, Route Table, NAT, and Security Group
Nowadays, most applications are running in the cloud. A middle or enterprise organizations continue developing cloud-based software to run their business. There are many benefits that we can get by using VPC, including easy collaborations, improved productivity, and cost saving. In this post, we are going to discuss about VPC. Since it contains long article,…
Basic Concept of ElasticSearch (Part 3): Translog, Flush, and Refresh
In previous article, Basic Concept of ElasticSearch (Part 2): Architectural Perspective, I have present about elasticsearch from architectural perspective, starting from elasticsearch role node, indexing flow, and searching flow. But, if you are not familiar with ElasticSearch, I suggest to read Basic Concept of ElasticSearch (Part 1): Introduction first. As I mention in the previous…
Basic Concept of ElasticSearch (Part 2): Architectural Perspective
In previous article Basic Concept of ElasticSearch (PART 1), I have present about definition of ElasticSearch, comparison between ElasticSearch and SQL, some terminologies in ElasticSearch, relation between ElasticSearch & Lucene, and also data types in ElasticSearch. In this article, I will tell you about a brief of architectural perspective of ElasticSearch, general indexing flow, and general…