Master Worker Architecture using Vert.x

  Today I am going to explain how Vert.x can be used for creating distributed Master Worker Paradigm. In large scale systems it’s applicable to wide variety of problems. First – Just to refresh our memories about what Vert.x is Vert.x as we know is a lightweight framework for creating distributed microservices. It can saleContinue reading “Master Worker Architecture using Vert.x”

MicroService Architecture

Here is a microservice architecture deployment diagram. All Services are docker containers which are registered to Consul Server via Registrator. Client (External – Mobile, UI) makes a call to Bouncer which is our API Proxy. Bouncer has all permissions configured on API URLs. It makes a call to Auth Server which authenticates the request andContinue reading “MicroService Architecture”

Why Kafka?

Today Many companies in startup world are completely dependent on AWS infrastructure. Its a good strategy since you do not have to manage your own infrastructure and saves you from lot of headache. Today we will discuss a bit about brokers available in AWS infrastructure. AWS has mainly 2 types of broker offering a. SQSContinue reading “Why Kafka?”

Kafka Cluster Setup

from my own experience I find that while setting up kafka cluster on AWS we face some issues so just want to highlight them. a. First setup zookeeper cluster. Let’s say 3 node cluster. Modify each node zoo.conf to publish ip address as internal IP address. server.id=<internal aws ip1>:2888:3888 server.id=<internal aws ip2>:2888:3888 server.id=<internal aws ip3>:2888:3888Continue reading “Kafka Cluster Setup”

Vert.x Cluster

Vert.x is an extremely simple event based, non blocking,  library for distributed computing that can be easily embedded in any Java framework of your choice. For sometime now I have been exploring Vert.x. I was looking for a vert.x cluster sample but I did not find any decent example so I decided to share thatContinue reading “Vert.x Cluster”

Web Application Scalability Part-3 ES vs Redis

Its 3rd article in Web Scalability..Today I am looking at various projects going on in Indian Start ups and I am thrilled by variety of technologies being used. While this sounds good at the same time I feel we are unable to utilize core strengths of technologies used. Their usage in architecture will always be dependentContinue reading “Web Application Scalability Part-3 ES vs Redis”

Web Application Scalability – Service Layer

So In our last post I promised that we will talk about how to make monolithic code into distributed SOA architecture. Well its not easy. Once you have decided that you want to re-architect the single chunk of software in distributed manner you have to decide about different parts of the system which can beContinue reading “Web Application Scalability – Service Layer”

Web Application Scalability – Part 1

Foundation I have been thinking about writing about software architecture for a while. There is lot of confusion among programmers about how to design software at scale. Teams fight about a programming language/framework/library/tools and what not. So I intend to share my experience in this field and I will keep writing new articles and improviseContinue reading “Web Application Scalability – Part 1”

Software Architecture – How to approach ( A simplistic view) – Part 1

While architecting software systems all we have to do is what will change and what will be static. What can be enhanced and what can be removed. I find this principle at the core of Design Patterns. Whatever can change (and this question needs to be answered on regular basis) one needs to put itContinue reading “Software Architecture – How to approach ( A simplistic view) – Part 1”