airavata-courses / sachinkariyattin

0 stars 0 forks source link

Assignment 2 Comments #8

Closed tilaks26 closed 7 years ago

tilaks26 commented 7 years ago

I have a few suggestions/comments -

Can you please make these changes and link this issue with the commit so I can review it?

sachinkariyattin commented 7 years ago

@tilaks26

I have updated the changes 4d3b4a1533bbde0d591e7cfdf490e14ab93d3911 and 1a8686bdd239afc90f52d07ba374e650609e7c13

tilaks26 commented 7 years ago

The system works fine now. RabbitMQ is used as a messaging mechanism between the microservices. The deployment is taken care of by Jenkins.

Although, I would suggest you to follow an asynchronous approach in general (you need not change anything for this assignment, this is just a suggestion). Ideally, the microservices are each connected to the API server. This way, there will not be a blocking mechanism when you send in multiple requests. You microservices will accept multiple requests even now, but there will be a delay in the processing. In production, usually one needs to think about load balancing and fault tolerance. If you follow an asynchronous approach, you can avoid the blocking mechanism.

Also, it is always good to have separate branches for each feature that you develop and finally merge it into master. Now that you will be creating JIRA issues and solving Airavata's open problems, you should try to follow the best practices of Git branching. Take a look at this.

Good work!