Message Scheduler Module
1 Overview#
Linkis-RPC can realize the communication between microservices. In order to simplify the use of RPC, Linkis provides the Message-Scheduler module, which is annotated by @Receiver Analyze, identify and call. At the same time, it also unifies the use of RPC and Restful interfaces, which has better scalability.
2. Architecture description#
2.1. Architecture design diagram#

2.2. Module description#
- ServiceParser: Parse the (Object) object of the Service module, and encapsulate the @Receiver annotated method into the ServiceMethod object.
- ServiceRegistry: Register the corresponding Service module, and store the ServiceMethod parsed by the Service in the Map container.
- ImplicitParser: parse the object of the Implicit module, and the method annotated with @Implicit will be encapsulated into the ImplicitMethod object.
- ImplicitRegistry: Register the corresponding Implicit module, and store the resolved ImplicitMethod in a Map container.
- Converter: Start to scan the non-interface non-abstract subclass of RequestMethod and store it in the Map, parse the Restful and match the related RequestProtocol.
- Publisher: Realize the publishing scheduling function, find the ServiceMethod matching the RequestProtocol in the Registry, and encapsulate it as a Job for submission scheduling.
- Scheduler: Scheduling implementation, using Linkis-Scheduler to execute the job and return the MessageJob object.
- TxManager: Complete transaction management, perform transaction management on job execution, and judge whether to commit or rollback after the job execution ends.