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

Develop gRPC client connector tool for MI #3997

Open
lnash94 opened this issue Feb 11, 2025 · 2 comments
Open

Develop gRPC client connector tool for MI #3997

lnash94 opened this issue Feb 11, 2025 · 2 comments
Assignees

Comments

@lnash94
Copy link

lnash94 commented Feb 11, 2025

Problem

Develop a lightweight gRPC client connector for MI to ensure efficient, low-latency communication with services. By defining contracts with Protocol Buffers and managing connections, load balancing, and serialization, the connector simplifies your codebase, boosts reliability, and supports seamless scaling.

Proposed Solution

  1. Provide JSON input and bind it into proto structures.

  2. Generate Java client according to the proto data structure and map it with synapse.

Meeting Notes can be found here: https://docs.google.com/document/d/1pqfmk7oa8Grm3eo_r_rV0eCJ_zdfJwzxaarNY6QKLwQ/edit?tab=t.0#heading=h.tzw6a6ceqb75

Alternatives

No response

Version

No response

@lnash94 lnash94 self-assigned this Feb 11, 2025
@lnash94
Copy link
Author

lnash94 commented Feb 18, 2025

Discussed Approach:

Approached 02: Generate a Java client by using protoc file and use it to call gPRC server then integrate it with the MI

Image

@lnash94
Copy link
Author

lnash94 commented Feb 18, 2025

Manual POC testing for code generation

Implementation details:

  • 1. Do a manual code generation for the proto file to java client, using protoc CLI
  • 2. Manually write the UI schemas, synapse input and other relevant class mediators
  • 3. Do feasibility: Integrate all the flow to check the gRPC connector can support via the MI without changing MI Runtime Server
  • 4. Implement a Ballerina grpc server for testing the flow

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant