Closed justinfx closed 5 years ago
Hi @justinfx , Yes. I think that you can run if you specify an unused port properly.
Cool. I was hoping you had an example of running it embedded. But if not I can dig around in the tests and the cmd/ to see what is needed.
But, Blast is still under development, I do not recommend it because the internal implementation may change significantly.
hey @justinfx
To run many processes inside a single one you can use Supervision trees. There is a stable on for Golang here: https://github.com/thejerf/suture
There is also another lib here that i am working on a bit: https://github.com/joeblew99/runner Its a bit wobbly still though.
@gedw99 thanks but I wasn't really asking about managing processes. I wanted to know if the services were written as libraries so they could be started via code, embedded in the application. This is the way gnatsd and its streaming add-on service can work, as well as a number of embedded databases.
Hey all.
I have been using a grpc implemention that is able to be compiled and exposes the API as golang channels You can use normal grpc and it generates the golang client and server and all the golang channel code
This means you can embed it and not have any network endpoints or ports opened !
Because blast is based on protobuf and grpc it's very likely to work and be easy to keep updated ( no technical debt ) since it's protobufs.
Let me know if you want the links ??
Is it possible to run blast as an embedded service into an existing application cluster? That is, if there is already a service running 2+ instances and it wants to add indexing, could it run a blast cluster using the existing service nodes? I'm thinking of this like the way Nats.io server can be embedded instead of having to run standalone gnatsd processes.