Let’s get started with Reactive Micro Services


“Unity is Strength” is what we believe is de-facto but that’s not true when it comes to behaviour of Web-Services. Monolith application (tightly encapsulated and highly inter-dependent applications) is what existed earlier but in recent time there was need of something called micro services which allows enterprise(large) applications to be broken down into independent application components which communicates to each other in case of interdependent information.

Micro Services need arises because of today’s paced dynamic requirement, let’s take a practical scenario xyz.com is planning to launch sales on electronics items only for 2 days but xyz.com is having different categories of product being hosted on their system e.g. Clothing, Groceries, Beauty Product, Household Products, Accessories etc. But on sales days there will be huge traffic requesting for electronics item mostly so logically we should be able to scale up electronics category of products for 2 days on entire product listing but here monolithic application fails šŸ˜¦ . As monolithic applications are tightly encapsulated so we cannot scale up or down a particular component of application and segregating(re-engineering) different components is costlier than building an entire application. Here comes our Batman the saviour Micro Services šŸ™‚

flo.ci-microservices-architecture

REACTIVE in Reactive micro services

Reactive is feather in the cap of micro services architecture, reactive basically represents bunch of additional performance optimisations like Scalable, Robust, Distributed, Resilience, Responsive. Let’s take all these conundrums one by one

  1. Scalable : One of the core reason for existence of micro services, applications should be scalable as per need
  2. Robust : Without robustness(consistent performance) any additional functionality doesn’t count. Micro services are designed in such a way that their downtime is almost zero.
  3. Distributed : Micro services are distributed in nature, that is there is single point of failure.
  4. Resilience : Because of distributed nature micro services are resilience that is they can recover from failure in almost zero time, micro services architecture allows application to be eventually consistent by using event logs (stable state is achieved after completion of event)
  5. Responsive : Even if best system is not fast and consistent, there is probability it won’t exist for long. Micro services are designed to make overall system fast and consistent.

In the next post we will meet this new Superhero in the battlefield and will try to save the world from monolithic applicationsĀ ā™„

References and Further Reading

https://inform.tmforum.org/nfv-it-transformation/2017/02/what-are-microservices-and-why-should-you-care/

http://downloads.lightbend.com/website/reactive-microservices-architecture/Reactive_Microservices_Architecture.pdf


KNOLDUS-advt-sticker

Advertisements
This entry was posted in Scala and tagged , . Bookmark the permalink.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s