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…
Basic Concept of ElasticSearch (Part 1): Introduction
Elasticsearch is a text search engine based on Lucene. Basically Lucene is a plugin written 100% in Java that have powerfull capability to search text with extremely fast. ElasticSearch wraps it so that we can utilize it over HTTP call with JSON interface. Besides that, it has ability to distribute documents across multiple shards in…
Lua Script in Redis for Supporting Inventory Management System
Important Aspects In Inventory Management System Inventory management system is a system to determine stock inventory at a certain time. Inventory management is one of the basic problems in almost every company. There are some aspects that needs to considered in inventory management system: Stock control reduce stock when there is any claim request restock when…
Golang: Benchmarking and Optimizing Code
I have been working with Golang since 3 years ago, I love it because of its performance and lightweight. Golang also has good built-in tools that absolutely help you in development. One of that is pprof, a tools for profiling data and visualize it. By analyzing profiling data from pprof, we will able to identify which part…






