|
||
---|---|---|
grpc-java-registry-nacos | ||
grpc-java-registry-nacos-example | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
mvnw | ||
pom.xml |
README.md
Nacos ECO project
grpc-java-registry-nacos
this is common way of gRPC Nacos Java registry integration. Please feel free to add more features with this repo by sending pull requests and raising a issue.
Features
- grpc client usage
- grpc server builder and starter
- integrate with Nacos
- Automatic service registration and discovery
- Round robin LoadBalancer which supported by gRPC
Requirements
Latest stable Apache Maven, Maven 3.2.5 or above. Note that this is build-time requirement.
Runtime requirement: JDK 8 is a recommend to run this application.
Building
You may clone this project and step into grpc-java-registry-nacos sub directory before read on.
# git clone https://github.com/nacos-group/grpc-java-registry-nacos
# cd grpc-java-registry-nacos
Run the following command to build the project(Java 1.8 is required to build the master branch).
mvn clean install
Getting started by demo
Step 1: Start nacos server
Start a Nacos naming server is a must.
Step 2: Config for projects
Check the necessary config here You can copy this proto to your project. And do pay attention to the config usage.
`nacos_uri` means the uri of Nacos naming uri to register.
`grpc_nacos_port` means the port of Grpc server,which is needed by both server and client.
use `GrpcNacosOptions.getDescriptor().getOptions().getExtension(GrpcNacosProto.grpcNacosPort)` to get configuration of grpc port,
and `GrpcNacosOptions.getDescriptor().getOptions().getExtension(GrpcNacosProto.nacosUri)` represents the configuration of nacos registry url.
Step 3: Start gRPC server
cd grpc-java-registry-nacos-example
mvn exec:java@server-demo
Step 4: Start gRPC client
mvn exec:java@client-demo
Step 5: Result
Calling result will be print out on the screen.
Next Steps
-
Golang will be supported when nacos-go-sdk provided.
-
More features welcome to be requested.
License
gRPC Nacos java is under the Apache 2.0 license. See the LICENSE file for details.