airavata-courses / MethkupalliVasanth

0 stars 1 forks source link

About the architecture #2

Closed Ameya05 closed 7 years ago

Ameya05 commented 7 years ago

Hey, just had a query regarding the project architecture.

There are 3 micro-services in your system viz.

It looks like the UI resides within the Node.js app. However, the UI is expected to be separate from the micro-services. i.e. 1 UI component & 3 micro-services.

So just a heads up to refactor the UI out of the node-js micro service if what I observed is true.

MethkupalliVasanth commented 7 years ago

Hi, I have developed the Ui using angular js, which I believe is not clear yet. Will update my wiki accordingly.

MethkupalliVasanth commented 7 years ago

Or, I could add an API gateway if it's necessary on this case.

Ameya05 commented 7 years ago

I think an API Server would be the way to go in this case, since it is what is mentioned in the 1st Assignment.

MethkupalliVasanth commented 7 years ago

I have implemented the API Server in all the three microservices. So I believe its already implemented in each case individually. I will update the architecture shortly, and that would probably make things clear.

Ameya05 commented 7 years ago

I guess you are confusing API Server for a web server. API Server is a component which is like an orchestrator for managing all the micro services. It should be Independent in a way that it resides on a separate host.

For e.g. you may have an API server at 59.68.102.135 which could be in Node.js . Your 3 micro-services may be residing on lets say 68.78.104.98 port 5000 to 5002. The arch could be somewhat similar to this picture where Orchestration Engine is nothing but the API Server -> https://raw.githubusercontent.com/airavata-courses/TeamOmni/master/Milestone%20Architectures/Milestone2.png

This API server is the single point from where all micro services are accessed from.

MethkupalliVasanth commented 7 years ago

Thanks for the clarification. Would implement the same.

MethkupalliVasanth commented 7 years ago

Hi,

1) I have refactored the code to have another node.js server which serves as an orchestrator(redirect) to other microservices

2) Also, I just wanted to know if its necessary to transfer any data between the three microservices or a simple call between them would suffice.

Thanks

Ameya05 commented 7 years ago

A simple request-response would suffice, there is no requirement of any data being passed around at the moment.