Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance the processing capacity of Linkis RPC, and backward compatibility with Linkis0.x RPC #569

Closed
peacewong opened this issue Mar 9, 2021 · 0 comments · Fixed by #614

Comments

@peacewong
Copy link
Contributor

peacewong commented Mar 9, 2021

MesageScheduler is an enhancement of the RPC module. It needs to be compatible with RPC Sender and used flexibly. MessageScheduler can decouple the mutual calls between modules and change it to the processing of messages. MessageScheduler requirements are as follows:

  1. Support synchronously and asynchronously processing message, and the receiver is identified through annotations.

  2. When processing messages, support sending messages to other receivers in the meanwhile. For example, after EngineConn is started, AM needs to notify Label to register the label information of EC.

  3. Messages are able to be processed by multiple receivers at the same time. For example, ECM registration request needs to register basic information in AM and register resource information in RM.

  4. Support multiple receivers to execute in a single chain sequence, and multually transfer intermediate variables. For example, when EngineConn exits, you need to complete RM information logout, label information logout and AM instance information processing in order.

  5. Support multiple receivers to execute in the order of multiple chains.

  6. Support skipping receivers, for example, after a receiver has been completed and satisfied the conditions, you can skip the subsequent message receivers.

  7. Support integrating RestFul with Message-scheduler, and thus reducing the development of the repeated logic between RPC and RestFul.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
4 participants