1
1
mirror of https://github.com/MarginaliaSearch/MarginaliaSearch.git synced 2025-10-05 21:22:39 +02:00

(refac) Zookeeper for service-discovery, kill service-client lib (WIP)

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.
This commit is contained in:
Viktor Lofgren
2024-02-20 11:41:14 +01:00
parent c73e43f5c9
commit 0307c55f9f
243 changed files with 2345 additions and 2844 deletions

View File

@@ -103,6 +103,12 @@ services:
- db:/var/lib/mysql
networks:
- wmsa
zookeeper:
image: zookeeper
container_name: "zookeeper"
restart: always
ports:
- "127.0.0.1:2181:2181"
traefik:
image: "traefik:v2.10"
container_name: "traefik"