-
Notifications
You must be signed in to change notification settings - Fork 900
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
Service discovery with Nacos #5365
Comments
Hi @ikhoon. I want to try this issue, can you assign this issue to me? |
Sure. Thanks in advance! 🙇♂️ |
I am nacos contributor and i can give some advice or some help. For Nacos, it provide nacos-client. Nacos client version 1.x is based on http. from version 2.x nacos client is based on grpc. The current pr is good and is light. It look like the PR use armeria to create nacos http client. If we need more nacos power (grpc for long connection) and nacos plugins (eg. auth plugin), it should use nacos client to build the |
As Armeria provides various transport layers, we prefer to use our stack to support certain protocols.
It sounds like gRPC is a better choice. I was wondering if there was a way to replace the gRPC client with Armeria gRPC client. If it is not supported, I am curious about what you think about providing an API that can replace the underlying client with an Armeria gRPC client. Armeria is a rich gRPC client with more features than its upstream clients. |
It make sense.
I can not replace the gRPC layer from the nacos-client by Armeria gRPC directly.
I think we can use Armeria gRPC to create NacosGrpcClient which support service register/list instance/watch etc. The Nacos gRPC API is not document clear, I can give some info as follow:
Maybe i need try to create a prototype project (armeria-nacos-client) to test , make the api more clearly. Should I need to try this ? @ikhoon |
We have our own JSON marshaller which is more performant. armeria/grpc/src/main/java/com/linecorp/armeria/common/grpc/GrpcJsonMarshaller.java Line 38 in 727ac80
I don't know what wire protocol is used for the JSON payload. Armeria gRPC client supports JSON out of the box. armeria/grpc/src/main/java/com/linecorp/armeria/common/grpc/GrpcSerializationFormats.java Lines 37 to 40 in 727ac80
Yes, please. 🙏 I'm looking forward to the result. If we can fully support all Nacos features, that would be better. |
It would be useful to support service registration and discovery using Nacos.
The text was updated successfully, but these errors were encountered: