使用 Zookeeper 作为注册中心
使用 Zookeeper 作为注册中心
This example shows dubbo-go’s service discovery feature with Zookeeper as registry.
使用方式
通过以下方式指定注册中心地址:
ins, _ := dubbo.NewInstance(
dubbo.WithName("dubbo_registry_nacos_server"),
dubbo.WithRegistry(
registry.WithZookeeper(),
registry.WithAddress("127.0.0.1:2181"),
),
dubbo.WithProtocol(
protocol.WithTriple(),
protocol.WithPort(20000),
),
)
srv, err := ins.NewServer()
How to run
Start Zookeeper server
This example relies on zookeeper as registry, follow the steps below to start a zookeeper server first.
- Start zookeeper with docker, run
docker run --rm -p 2181:2181 zookeeper
ormake -f $DUBBO_GO_SAMPLES_ROOT_PATH/build/Makefile docker-up
. - Download and start zookeeper locally on your machine.
Run server
$ go run ./go-server/cmd/server.go
test rpc server work as expected:
$ curl \
--header "Content-Type: application/json" \
--data '{"name": "Dubbo"}' \
http://localhost:20000/greet.GreetService/Greet
check url address successfully registered into zookeeper:
# enter zookeeper bin directory, for example '$HOST_PATH/apache-zookeeper-3.5.9-bin/bin'
$ ./zkCli.sh
[zk: localhost:2181(CONNECTED) 0] ls /services/dubbo_registry_zookeeper_server
[30.221.147.198:20000]
Run client
$ go run ./go-client/cmd/client.go
hello world
最后修改 September 13, 2024: Refactor website structure (#2860) (1a4b998f54b)