mirror of
https://github.com/MarginaliaSearch/MarginaliaSearch.git
synced 2025-02-23 21:18:58 +00:00
![]() To avoid having to either hard-code or manually configure service addresses (possibly several dozen), and to reduce the project's dependency on docker to deal with routing and discovery, the option to use [Zookeeper](https://zookeeper.apache.org/) to manage services and discovery has been added. A service registry interface was added, with a Zookeeper implementation and a basic implementation that only works on docker and hard-codes everything. The last remaining REST service, the assistant-service, has been migrated to gRPC. This also proved a good time to clear out primordial technical debt from the root of the codebase. The 'service-client' library has been taken behind the barn and given a last farewell. It's replaced by a small library for managing gRPC channels. Since it's no longer used by anything, RxJava has been removed as a dependency from the project. Although the current state seems reasonably stable, this is a work-in-progress commit. |
||
---|---|---|
.. | ||
assistant-api | ||
executor-api | ||
index-api | ||
process-mqapi | ||
query-api | ||
readme.md |
Clients
Core Services
These are clients for the core services, along with what models are necessary for speaking to them. They each implement the abstract client classes from service-client.
All that is necessary is to @Inject
them into the constructor and then
requests can be sent.
Note: If you are looking for the public API, it's handled by the api service in services-application/api-service.
MQ-API Process API
process-mqapi defines requests and inboxes for the message queue based API used for interacting with processes.
See libraries/message-queue and services-application/control-service.