Comments (1)
One of the things I'm trying to achieve with Mongoose is that it acts more like a cluster than the reference proxy. For that, I think that all steps should take into account the fact that the proxy can be running in a distributed environment, including the discovery step. The discovery step is important because, knowing what services have been registered and which nodes it is then possible to forward messages to other nodes transparently, this is especially important for "Forwards" and "SideEffects"
That said I would like to show you the sequence of the discovery step that I have built so far
In this image above I am start the proxy in a terminal (look in the upper right corner and you will see the terminal number indication)
In this other image above, I'm doing the same thing but start a new proxy instance in another terminal
When the proxy goes up the second node we can see this node trying to discover a user function and in this case finding an EventSourced user function (Python), at that moment this instance (second instance) registers the entities and services declared by the python user function ( including all declared protobuf types)
Returning to the first terminal (image above) we will now try to search for all declared EventSourced services (local or remote)
As a result of this search, we can see (image above) that the first proxy instance is able to view the entities registered by the other proxy instance of the other terminal. This is made clear by the "node" property of the returned struct where we see the information [email protected] which is the address of the second instance, ie the remote instance.
from massa.
Related Issues (20)
- PROXY_HEARTBEAT_INTERVAL not parsed as integer
- Action Entity send_stream_msg don't send all the chunks HOT 9
- Potential to integrate Vaxine as CRDT backend. HOT 3
- Use our own protobuf contract HOT 3
- Implement Forward and Side Effects
- Gun errors with Stream
- Activate entities by Rules HOT 2
- Running mix test is running into an error during startup HOT 2
- SideEffects as Broadcast
- Refactor the Protocol HOT 1
- A better readme
- Check if it is possible to cache modules that were compiled at Runtime HOT 8
- massa functions k8s operator HOT 15
- Update Bakeware to 0.2.0 HOT 1
- massa does not distinct between multiple gRPC services discovered. HOT 6
- Register custom protobuf extension ordinal HOT 3
- TCK for ActionProtocol
- make build fails with error HOT 3
- I'd like to contribute! HOT 5
- New node joining does not receive entities from other nodes HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from massa.