Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement - The Micro Services Main Process can be stay alive after service fault. #427

Open
mohsenomidi opened this issue Dec 29, 2019 · 0 comments

Comments

@mohsenomidi
Copy link

Hi everybody,

Please take a look to this scenario:

when you implement the micro service with complex structure, ( for example 10 Services, 6 Consumers) and each consumer listening on a port to get request and these request will handle with one or two micro-service(s), (i mean may 1 consumer uses 1 or more services).

Now in one of these services, there is a bug, i mean not handled exception, assume the specific service receive SIGSEGV, or any other memory exception. this type of exceptions can not catch with try catch and in this case, the whole micorservice framework and process will be killed, because of one memory exception in one specific service, and this is not good idea, because your system can be work with other alive services and can serve the consumer and the other programs that uses the consumers.

i am not very familiar with the framework code, i just using it and faced these error, may i am wrong, but I think we can use the process manager and using fork() mechanism to handle these type of faults, if the microservice framework fork the process, for each service and consumer, it can control the state of child processes even if one of them get zombie state in its process list or killed by any signals, and the other services can be alive without killing the whole system.

is there any advice to cover these type of faults ?

Best Regards,

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant