CatgirlIntelligenceAgency/code/services-core/control-service
Viktor Lofgren 6271d5d544 (mq) Add relation tracking between MQ messages for easier tracking and debugging.
The change adds a new column to the MESSAGE_QUEUE table called AUDIT_RELATED_ID.  This field is populated transparently, using a dictionary mapping Thread IDs to Message IDs, populated by the inbox handlers.

The existing RELATED_ID field has too many semantics associated with them,
among other things the FSM code uses them this field in tracking state changes.

The change set also improves the consistency of inbox names.  The IndexClient was buggy and populated its outbox with a UUID.  This is fixed. All Service2Service outboxes are now prefixed with 'pp:' to make them even easier to differentiate.
2024-01-18 15:08:27 +01:00
..
src (mq) Add relation tracking between MQ messages for easier tracking and debugging. 2024-01-18 15:08:27 +01:00
build.gradle (test) Clean up test usage of migrations 2024-01-12 15:55:50 +01:00
readme.md (*) Get multi-node routing working. 2023-10-15 18:38:30 +02:00

Control Service

The control service provides an operator's user interface. By default this interface is exposed on port 8081. It does not offer any sort of access control or authentication.

The control service will itself execute tasks that affect the entire system, but delegate node-specific tasks to the corresponding executor-service via the executor-api.

Conceptually the application is broken into three parts:

  • Application specific tasks relate to the high level abstractions such as blacklisting and API keys
  • System tasks relate to low level abstractions such as the message queue and event log.
  • Node tasks relate to index node specific tasks, such as crawling and indexing.

Central Classes

See Also