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

RFC: Add streaming APIs (RpcClient, RpcServer) #856

Open
fengjiachun opened this issue Jun 24, 2022 · 5 comments
Open

RFC: Add streaming APIs (RpcClient, RpcServer) #856

fengjiachun opened this issue Jun 24, 2022 · 5 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed

Comments

@fengjiachun
Copy link
Contributor

fengjiachun commented Jun 24, 2022

Add streaming APIs (RpcClient, RpcServer), implement it based on gRPC.

This is a subtask that belongs to the first step of #672
In this subtask, we need a streaming impl, for the leader (client) to continuously send raft logs to followers.

Main goals:

  • Add streaming API to RpcClient and RpcServer
  • Implement streaming based on gRPC (We are not going to use bolt to implement)
@fengjiachun fengjiachun added enhancement New feature or request help wanted Extra attention is needed labels Jun 24, 2022
@sollhui
Copy link

sollhui commented Jul 11, 2022

@fengjiachun I want to have a try,can you assign me?And I have said in #672 before

@sollhui
Copy link

sollhui commented Jul 12, 2022

@fengjiachun I hava some idea to discuss:
when using streaming api to send ,Buffer overflow will be generated when processing large-scale stream data,reactive stream provides a set of standard asynchronous stream processing api to suppuort backpressure and it can ensures the stability of nodes,so whether use Reactive Stream to make encapsulation of grpc would be a good idea?

@fengjiachun
Copy link
Contributor Author

@HHoflittlefish777
In the case of jraft replicating raft log, I think backpressure may not be needed, so I'm not sure if it is a good idea. Can we implement basic grpc streaming first and then think about reactive streaming?

@fengjiachun
Copy link
Contributor Author

Slack

@sollhui
Copy link

sollhui commented Jul 14, 2022

@HHoflittlefish777 In the case of jraft replicating raft log, I think backpressure may not be needed, so I'm not sure if it is a good idea. Can we implement basic grpc streaming first and then think about reactive streaming?

OK,I do it first

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

2 participants