import {
TestOne
} from '../interface/test-one'
import {
GrpcClientConfig,
CreateGrpcClient,
} from '@tick-core/grpc-client'
import path from 'path'
import {
Zconf,
} from '@tick-core/zconf'
// 使用方式1【本地proto】
const config: GrpcClientConfig = {
host: '127.0.0.1',
ports: [8888, 8899],
protoPath: path.join(__dirname, './proto')
}
OR
// 使用方式2【zookeeper proto】
const config: GrpcClientConfig = {
host: '127.0.0.1',
ports: [8888, 8899],
protoPath: new Zconf({
zookeeperConfs: [{
host: '127.0.0.1',
port: 2181,
}],
conf: {
proto1: '/app/proto1',
proto: '/app/proto'
},
retries: 3,
cache: false,
})
}
const createGrpcClient: CreateGrpcClient = new CreateGrpcClient(config)
// 因为只有这样才能每次使用时获取client,才能轮询不同的端口号
export const testOneClient = (): TestOne => createGrpcClient.getClient('testOne') // proto 的 package
import {
testOneClient
} from '../client'
/**
* 因为连接grpc服务是异步的,故在获取client时需要等连接成功,
*/
setTimeout(async () => {
const result = await testOneClient().sayHello({
age: 1,
name: 'zhangsan',
id: 12
})
console.log(result)
}, 100)