Wednesday, July 27, 2022

Obelix - Microservices Reference Implementation

Guys, After much delay - Finally, I have Obelix - Microservices Reference Implementation available for use by all. Even though, It is still a work-in-progress activity and will go through possibly 5 to 10 versions before it reaches to an absolute [Gold Standard Release].

Obelix is highly recommended for all organizations adopting Microservices. The implementation is based on Spring Boot/Spring Cloud. You may base your MSA Reference Implementation in your organization on Obelix.

Kindly Like, Star and Fork my Repository
GitHub Link

Obelix - Microservices Infrastructure Components
► Messaging – RabbitMQ
► Config Server – Spring Cloud
► Config Server Refresh – Spring Cloud Bus Refresh
► API Gateway – Spring Cloud 
► Circuit Breaker – Netflix Hystrix 
► Circuit Breaker Dashboard – Spring Cloud Turbine
► Circuit Breaker Dashboard – Netflix Hystrix
► Web Services Client – SpringCloud Feign 
► Client Side Load Balancer – Ribbon
► Discovery Server – Netflix Eureka

Obelix - Microservices Demo/Test Bed (Microservices)
 Demo Service - Inventory Service
► Demo Service - Inventory Service Client
► Demo Service - SaleOrder Service 
► Demo Service - SaleOrder Service Client 


 [Options to Shutdown a Spring Boot Application in Eclipse/Windows]

W. Simply Use the Red or Stop Button in Eclipse (May Lead to Unclean Shutdown)

X. To Kill Sys Tasks - taskkill /F /PID ?????

Y. TCP View --

Z. Enable Spring Boot Shutdown Hook /shutdown


 [ Steps of Config Server Repository - Local ]

£. Create a Local GitHub Repo in Eclipse

£. Add .properties File as per Pattern > [service-name]-[profile].properties

£. Commit the Files to the Local Repo In [Eclipse]


[Steps to Start all Infrastructural Services]

0. rabbitmq-plugins enable rabbitmq_management

0. rabbitmq-server -detached (to start server)

1. Start the RabbitMQ Server on Port 15672

2. Start the [Discovery Server] Port 8761

3. Start the [Config Server] on Port 8888

4. Start the [Circuit Breaker]: Port 8081

5. Start the [ API Gateway ] on Port 8087


[Demo Services – Inventory Service and SaleOrder Service ]

A' Start the Obelix Demo Service 1 Port 8082 - Inventory Service Instance 1

A" Start the Obelix Demo Service 1 Port 8083 - Inventory Service Instance 1

B. Start the Obelix Demo Service 2 Port 8084 - SaleOrder Service

C. Demo Load Balanced Client Access to Hosted Service 1 Port 8085

D. Demo Single Node Client Access to Hosted Service 2 : Port 8086

For an even more effective Microservices Implementation, make sure to buy a copy of my book to build your thoughts on the following topics:

  1. Pains of Monolithic Architecture
  2. Needs and Motivations for Microservices
  3. Moving from Monolithic to Microservices
  4. DevOps, Planning, Testing, Agile in MSA
  5. Failurs, Pitfalls & Disadvantage of [MSA]

By the way, I really like Obelix (The Character) - Who is your favourite cartoon character?

[Update Log]
Obelix v0.1 : 20/07/2022
Obelix v0.2 : 27/07/2022