This article briefly decribes the microservices of yuuvis® Momentum.
Table of Contents
Introduction
The requirement of high and thus horizontal scalability as well as high availability is currently best combatted by architectures comprising of distributable small services which can be run in more than one instance. Such architectures offer redundance and pinpoint scalability—leading, among other advantages, to the wild success of this architectural pattern. This article describes the services yuuvis® Momentum is made of.
Core Services
yuuvis® Momentum fields a core consisting of a small zoo of cloud-native microservices, which allows for high availability and scalability. The entirety of the core's functions is made available through the API-gateway as core API. Two services—three if counting in the API-gateway— serve the microservice architecture itself: ADMIN allowing service administration like restarting a service or changing its intended amount of instances, and CONFIG, reading, caching and delivering configuration information to the other services.
Name | Function | Configuration profiles | Certificates | Standard ports | Scalable |
---|---|---|---|---|---|
Gateway | |||||
API | API-gateway | prod, cloud, redis | no | 7450-7459 | yes |
Basic Core Services | |||||
AUTHENTICATION | user authentication, session management | prod, cloud | yes | 80 | no |
ORGANIZATION | mapping users to roles (the latter carrying the permissions) | prod, cloud, mq, trusted, keycloak | yes | 7440-7449 | yes |
SYSTEM | schema management | prod, cloud, mq, redis | yes | 7400 | yes (as of 2020 Autumn) |
REPOSITORY | management of the binary storage | prod, cloud | no | 7500-7509 | yes |
REGISTRY | management of object metadata in the relational database | prod, cloud, mq, jpa, dbs, redis | no | 7510-7519 | yes |
INDEX | indexing in Elasticsearch | prod, cloud, es, mq, redis | no | 7291-7300 | yes |
SEARCH | processing of queries | prod, cloud, es, mq | no | 7221-7230 | yes |
AUDIT | object history, audit trail management | prod, cloud, jpa, dbs | no | 7251 | yes |
CONTENTANALYZER | synchronous full-text extraction and determination of the MIME type | prod, cloud | no | 7430-7439 | yes |
Archive Services | |||||
ARCHIVE | connector for storage solutions | prod, cloud, storage | no | 7530-7539 | yes |
Rendition Services | |||||
CONTROLLER | job messaging using third party RabbitMQ and more, used for asynchronous operations | prod, es, oauth2, lc, mq | yes | 7332-7335 | yes |
TEXTEXTRACTOR | asynchronous full-text extraction | prod, cloud, lc, mq | no | 7400-7429 | yes |
RENDITION | generation of renditions of submitted documents | no | 7341 | yes | |
Structural Services | |||||
ADMIN* ** | administration, monitoring, configuration | prod, cloud | no | 7273 | yes |
CONFIG | configuration server | prod, cloud, native | no | 7281 | yes |
DISCOVERY** | service registration | prod, cloud | no | 7261 | no |
Rollback Administration | |||||
COMMANDER* | command tool for rollbacks | prod, dbs, es | no | 7412 | no |
* service of special interest for DevOps | ** obsolete when using Kubernetes