consistent-cluster 1.0.2 → 1.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/consistent-cluster/sync-client.rb +18 -2
- data/lib/consistent-cluster/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2b9a381e3ba8ba30496deec02f82acb44f03c608
|
4
|
+
data.tar.gz: d91a5fe213f3fc911c8e8dae829b8489b020d632
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 24a73b4697edc754ca7ca59ca039534540f16da968050ada4f5a80b01fd28cc650e2a8e08dd445732c57c34f5923293d8312190e5cccb92edd2c2c2a9099ee90
|
7
|
+
data.tar.gz: a8b4369cf7f64d8b597ad75004f93c1f6b96e4d578f596de8ceb43d3a7ea58387a22cbe7cbcb17e9a1794af46b44d324d81439f4d4a90c9d2a5b9280d5c5cd86
|
@@ -10,8 +10,6 @@ module ConsistentCluster
|
|
10
10
|
class SyncClient
|
11
11
|
|
12
12
|
def initialize(options)
|
13
|
-
@zk = ZK.new(options[:zookeeper_service])
|
14
|
-
@path = options[:zookeeper_path]
|
15
13
|
|
16
14
|
@data = {}
|
17
15
|
@cluster = {}
|
@@ -25,6 +23,10 @@ module ConsistentCluster
|
|
25
23
|
@after_sync_proc = options[:after_sync_proc]
|
26
24
|
|
27
25
|
@to_sync,@syncing = false,false
|
26
|
+
|
27
|
+
@path = options[:zookeeper_path]
|
28
|
+
|
29
|
+
@zk = ZK.new(options[:zookeeper_service],reconnect: true)
|
28
30
|
|
29
31
|
@zk.register(@path) do |event|
|
30
32
|
sync_services
|
@@ -32,9 +34,23 @@ module ConsistentCluster
|
|
32
34
|
|
33
35
|
sync_services
|
34
36
|
|
37
|
+
#on_state_change
|
38
|
+
#on_connecting
|
39
|
+
#on_expired_session
|
40
|
+
@zk.on_connected do
|
41
|
+
reconnect_callback
|
42
|
+
end
|
43
|
+
|
35
44
|
@shard_num = 0
|
36
45
|
end
|
37
46
|
|
47
|
+
def reconnect_callback
|
48
|
+
case @zk.state
|
49
|
+
when :connected
|
50
|
+
sync_services
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
38
54
|
def shard(key=nil)
|
39
55
|
cluster_sum = @cluster.length
|
40
56
|
raise "no service available at #{@path}" if cluster_sum < 1
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: consistent-cluster
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jeffrey6052
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-
|
11
|
+
date: 2015-05-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: atomic
|
@@ -24,7 +24,7 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.1'
|
27
|
-
description:
|
27
|
+
description: 用于整合服务集群接口,方便客户端调用; 调用方式包含一致性哈希逻辑,轮询逻辑; 支持绑定zookeeper,同步集群配置
|
28
28
|
email:
|
29
29
|
- jeffrey6052@163.com
|
30
30
|
executables: []
|
@@ -65,5 +65,5 @@ rubyforge_project:
|
|
65
65
|
rubygems_version: 2.2.2
|
66
66
|
signing_key:
|
67
67
|
specification_version: 4
|
68
|
-
summary:
|
68
|
+
summary: 一致性哈希集群
|
69
69
|
test_files: []
|