-
Notifications
You must be signed in to change notification settings - Fork 786
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
Proposal: support bound multiple service implements into one server #597
Comments
Kitex doesn't support multi-service now. But for thrift, you can define multi-service in IDL and use combine service . For gRPC, it is our TODO to support it. |
I have two questions about Question 1
I'm not sure if I'm right, the // CombineServiceImpl implements the last service interface defined in the IDL.
type CombineServiceImpl struct{}
func (s *CombineServiceImpl) MergePullRequest(ctx context.Context, req *api.MergePullRequestRequest) (resp *api.MergePullRequestResponse, err error) {
return maintainerSrv.MergePullRequest(...)
}
func (s *CombineServiceImpl) CloseIssues(ctx context.Context, req *api.CloseIssuesRequest) (resp *api. CloseIssuesResponse, err error) {
return memberSrv.CloseIssues(...)
} Question 2
We may only need a few sub service of CombineService, can we reuse the same connection if we only want to use |
Question 1 Question 2 |
TODO same with #679 |
@a631807682 The gRPC multi-service feature is now released in version v0.8.0. Please check it out. |
Is your feature request related to a problem? Please describe.
We usually don't declare all services in one IDL (proto file). Take COMMUNITY_MEMBERSHIP as an example, we usually logically distinguish between Member services and Maintainer services, they are Each implements its own logic, we only merge when starting the service.
We'll distinguish them like this:
When I use grpc-go I can make multiple impls bound into one service.
grpc-go/serviceInfo
kitex/serviceInfo
Describe the solution you'd like
Support bound multiple service implements into one server
The text was updated successfully, but these errors were encountered: