1234567891011121314151617181920212223242526272829303132 |
- local skynet = require "skynet"
- local cluster = require "skynet.cluster"
- skynet.start(function()
- local proxy = cluster.proxy "db@sdb" -- cluster.proxy("db", "@sdb")
- local largekey = string.rep("X", 128*1024)
- local largevalue = string.rep("R", 100 * 1024)
- skynet.call(proxy, "lua", "SET", largekey, largevalue)
- local v = skynet.call(proxy, "lua", "GET", largekey)
- assert(largevalue == v)
- skynet.send(proxy, "lua", "PING", "proxy")
- skynet.fork(function()
- skynet.trace("cluster")
- print(cluster.call("db", "@sdb", "GET", "a"))
- print(cluster.call("db2", "@sdb", "GET", "b"))
- cluster.send("db2", "@sdb", "PING", "db2:longstring" .. largevalue)
- end)
- -- test snax service
- skynet.timeout(300,function()
- cluster.reload {
- db = false, -- db is down
- db3 = "127.0.0.1:2529"
- }
- print(pcall(cluster.call, "db", "@sdb", "GET", "a")) -- db is down
- end)
- cluster.reload { __nowaiting = false }
- local pingserver = cluster.snax("db3", "pingserver")
- print(pingserver.req.ping "hello")
- end)
|