MarginaliaSearch/code/processes/loading-process/build.gradle
Viktor Lofgren 0307c55f9f (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.
2024-02-20 11:41:14 +01:00

61 lines
2.0 KiB
Groovy

plugins {
id 'java'
id 'application'
id 'jvm-test-suite'
}
java {
toolchain {
languageVersion.set(JavaLanguageVersion.of(21))
}
}
application {
mainClass = 'nu.marginalia.loading.LoaderMain'
applicationName = 'loader-process'
}
tasks.distZip.enabled = false
dependencies {
implementation project(':code:common:process')
implementation project(':code:api:process-mqapi')
implementation project(':code:api:index-api')
implementation project(':code:common:model')
implementation project(':code:common:db')
implementation project(':code:common:config')
implementation project(':code:common:service')
implementation project(':code:common:service-discovery')
implementation project(':code:common:linkdb')
implementation project(':code:features-index:index-journal')
implementation project(':code:libraries:message-queue')
implementation project(':code:libraries:language-processing')
implementation project(':third-party:commons-codec')
testImplementation project(':code:services-application:search-service')
implementation project(':code:process-models:crawling-model')
implementation project(':code:process-models:processed-data')
implementation project(':code:process-models:work-log')
implementation project(':code:features-convert:keyword-extraction')
implementation libs.bundles.slf4j
implementation libs.guice
implementation libs.gson
implementation libs.commons.lang3
implementation libs.zstd
implementation libs.trove
implementation libs.bundles.mariadb
testImplementation libs.bundles.slf4j.test
testImplementation libs.bundles.junit
testImplementation libs.mockito
testImplementation libs.bundles.selenium
testImplementation platform('org.testcontainers:testcontainers-bom:1.17.4')
testImplementation 'org.testcontainers:mariadb:1.17.4'
testImplementation 'org.testcontainers:junit-jupiter:1.17.4'
testImplementation project(':code:libraries:test-helpers')
}