pnxtech / hydra

A light-weight library for building distributed applications such as microservices
https://www.hydramicroservice.com
MIT License
645 stars 54 forks source link

Pattern matching #198

Open danielo515 opened 6 years ago

danielo515 commented 6 years ago

Hello, I'm doing a deep research of all the microservices frameworks out there. I've checked Seneca, Hemera, Moleculer and now hydra.

Something I really like from Hemera and Seneca is pattern matching. This feature really allows incrementally adding features. As a bonus there is absolutely no need to know which service can handle the message beforehand, super cool.

Hydra has another thing that I also like a loot, which is direct service communications. There are sometimes when you need to transfer a big payload and know who should handle it, in that case direct http or tcp communication seems better. (if hydra is not doing this please clarify it, thanks)

My question is, are you aware of pattern matching and if so, do you have plans to implement it?

Regards

danielo515 commented 6 years ago

We are taking Hydra in consideration for starting a new project, however this feature is important to us and I would like to have it clarified.

Regards

cjus commented 6 years ago

@danielo515 Hydra does not support pattern matching but does support HTTP and message routing. See here: https://www.hydramicroservice.com/?q=route

danielo515 commented 6 years ago

Does not support, and will never support I guess ?

cjus commented 6 years ago

@danielo515 we're always up for a PR! Even a write-up of what others are doing would be a great way to kick this off! That way we can at least start discussion until someone picks up the feature.

danielo515 commented 6 years ago

Hello. Do you mean a writeup on this same issue or something more like an article or blog post?

cjus commented 6 years ago

I was thinking more of a proposal document. Once which lists requirements or features. A doc which looks at what others are doing and says "it would be cool if hydra did this..." The document doesn't have to be long and can, in fact, be opinionated. Such a document would help to start a conversation.

cjus commented 6 years ago

@danielo515 BTW, have you read Richard Rodger's book "The Tao of Microservices"?

danielo515 commented 6 years ago

HEllo @cjus

The Tao of Microservices

No I did not, but I think I will. I am reading buliding microservices with node.js, which uses seneca. Maybe I could read that one after. Thanks for your suggestions.

sjmcdowall commented 6 years ago

@danielo515 -- The author of The Tao of Microservices is the primary author of Seneca :) It's a very good conceptual read that should be "groked" regardless of the underlying implementation decided on. Best to understand how you want microservices to work and design the architecture then you can implement on top of any of the good frameworks out there IMHO.

danielo515 commented 6 years ago

@sjmcdowall Absolutely. I read several blogs post of the Seneca author (which I'm unable to find again :sad:). He has very good ideas and a very good vision about how to make something scalable and extensible. I will read the book for sure