0.2.2 • Published 3 years ago
@zcong/grpc-etcd-resolver v0.2.2
grpc-etcd-resolver
etcd resolver for @grpc/grpc-js
Install
$ yarn add @zcong/grpc-etcd-resolver
# or npm
$ npm i @zcong/grpc-etcd-resolver --save
Usage
server
const serviceName = 'test'
const main = async () => {
const server = new grpc.Server()
server.addService(HelloService, helloServer)
const addr = `0.0.0.0:${process.env.PORT ?? '8080'}`
const etcd = new Etcd3()
// register service addr to etcd
register(etcd, serviceName, addr)
server.bindAsync(addr, grpc.ServerCredentials.createInsecure(), () => {
server.start()
})
}
client
const serviceName = 'test'
const main = async () => {
const etcd = new Etcd3()
// setup etcd resolver
setupEtcdResolver(etcd)
const c = new HelloClient(
`${EtcdScheme}:///${serviceName}`, // use service name with EtcdScheme
grpc.credentials.createInsecure(),
{ 'grpc.service_config': '{"loadBalancingConfig": [{"round_robin": {}}]}' } // use round_robin lb
)
}
License
MIT © zcong1993