@zcong/grpc-etcd-resolver
TypeScript icon, indicating that this package has built-in type declarations

0.2.2 • Public • Published

grpc-etcd-resolver

NPM version NPM downloads

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

Readme

Keywords

none

Package Sidebar

Install

npm i @zcong/grpc-etcd-resolver

Weekly Downloads

2

Version

0.2.2

License

MIT

Unpacked Size

21 kB

Total Files

19

Last publish

Collaborators

  • zcong