1a151a3348
fix data races in gossip registry
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-05-09 22:32:21 +03:00
Patrick Moore
afd1f9f50f
Update consul/watch import
...
The watch package was moved from github.com/hashicorp/consul/watch to github.com/hashicorp/consul/api/watch to live in the API module.
Per: 6c885d383a
2019-04-26 10:40:10 -07:00
Asim Aslam
df6561165a
gofmt
2019-04-23 07:13:21 +00:00
shuxian
d3f447a732
solve NewRegistry httpclient 'nil pointer dereference' bug
2019-02-28 09:56:57 +08:00
Asim Aslam
f4be7d018d
delete context file
2019-02-13 14:39:38 +00:00
Asim Aslam
7cb466359f
rework gossip registry
2019-02-13 14:39:20 +00:00
f961c571bd
registry: [gossip] fix panic
...
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x88 pc=0xd1b215]
goroutine 8 [running]:
sync.(*RWMutex).RLock(...)
/var/home/vtolstov/sdk/go1.12beta2/src/sync/rwmutex.go:48
github.com/hashicorp/memberlist.(*Memberlist).LocalNode(0x0, 0x0)
/home/vtolstov/devel/projects/centralv2/vendor/github.com/hashicorp/memberlist/memberlist.go:417 +0x35
github.com/micro/go-micro/registry/gossip.(*gossipRegistry).run.func3(0xc000155880)
/home/vtolstov/devel/projects/centralv2/vendor/github.com/micro/go-micro/registry/gossip/gossip.go:565 +0xf5
created by github.com/micro/go-micro/registry/gossip.(*gossipRegistry).run
/home/vtolstov/devel/projects/centralv2/vendor/github.com/micro/go-micro/registry/gossip/gossip.go:553 +0xa25
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-13 16:36:38 +03:00
36532c94b2
registry: [gossip] add ConnectRetry and ConnectTimeout
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-12 17:16:35 +03:00
422e2002a0
registry: gossip unify registry option passing, optimize
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2019-02-02 01:12:39 +03:00
Asim Aslam
cead99ac44
fix nil pointer
2019-02-01 16:01:51 +00:00
Asim Aslam
88e12347d0
update mdns to remove race condition
2019-02-01 13:41:11 +00:00
Asim Aslam
652b1067f5
fix data race
2019-02-01 09:05:03 +00:00
Asim Aslam
48b80dd051
replace memory registry
2019-01-18 17:29:17 +00:00
Asim Aslam
7314af347b
Set MDNS as default registry
2019-01-15 16:50:37 +00:00
Asim Aslam
39c24baca9
rename mock things to memory
2019-01-14 15:27:25 +00:00
Asim Aslam
bb31480f1a
downgrade code generated stuff
2019-01-10 10:57:04 +00:00
xinfei.wu
eec1726f1d
add package comment
2019-01-09 16:31:23 +08:00
xinfei.wu
453ce2fcbe
add locker
2019-01-09 14:24:12 +08:00
Asim Aslam
5cae330732
Update selector race, rename cache selector
2018-12-29 15:44:51 +00:00
Asim Aslam
8b54a850f7
run gossip updater first
2018-12-19 19:04:44 +00:00
Asim Aslam
fae8c5eb4c
fix context
2018-12-19 09:27:53 +00:00
5bcdf189de
implement some gossip options
...
Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
2018-12-19 12:25:16 +03:00
Asim Aslam
b02e1e04fc
Add gossip readme
2018-12-06 18:26:51 +00:00
Asim Aslam
cf8c059711
Merge pull request #345 from micro/gossip
...
Gossip
2018-12-06 18:22:52 +00:00
Asim Aslam
b343420af6
update the gossiper
2018-12-06 18:19:05 +00:00
Asim Aslam
1ed2b589a2
log to dev null
2018-12-04 17:33:11 +00:00
Asim Aslam
72d8dc89fb
add cmd and bug fix
2018-12-04 17:22:20 +00:00
Asim Aslam
8706aa4a46
Remove file
2018-12-04 16:43:05 +00:00
Asim Aslam
57dcba666e
gossip registry
2018-12-04 16:41:40 +00:00
Blair McMillan
a9593bad66
Prevent read/write map concurrency issue
2018-12-03 14:59:31 +10:00
Asim Aslam
9c2689301c
add mock package comments
2018-12-01 12:56:21 +00:00
Asim Aslam
a1665ab37a
Add consul package comment
2018-12-01 12:54:46 +00:00
Asim Aslam
29bb63b717
add mdns package comment
2018-11-26 16:13:17 +00:00
Blair McMillan
7171c00e42
Add ability to specify Consul options and default to AllowStale for all gets
2018-11-23 17:11:37 +10:00
Blair McMillan
e3a2fe52cd
Only check if the service is in Consul once every deregister interval
2018-11-22 13:34:08 +10:00
Asim Aslam
4c821baab4
go fmt
2018-11-03 12:17:11 +00:00
lovelly
fd04722706
Fix tcp check no ttl error
2018-10-09 10:40:24 +08:00
Asim Aslam
9968c7d007
Add Init to all things, use init in cmd package to initialise
2018-08-08 18:57:29 +01:00
Asim Aslam
af328ee7b4
Support connect native registration
2018-08-06 17:12:34 +01:00
Shulhan
44b934d458
registry: rename context key "consul_register_tcp_check" to "consul_tcp_check"
2018-03-21 21:57:04 +07:00
Shulhan
65a90f5a21
registry.Register: use local variable to get context value
2018-03-21 18:18:48 +07:00
Shulhan
1eb4398b6c
registry/consul: rename "RegisterTCPCheck" to "TCPCheck"
2018-03-21 18:17:56 +07:00
Shulhan
68ab671bd0
Use registry.options.Context to set Consul TCP check option
2018-03-19 20:34:56 +07:00
Shulhan
f4cdfaf27f
Fix TCP address and port on service check registration
2018-03-19 20:34:12 +07:00
Shulhan
1599d717af
Add option to enable TCP check with Consul registry
...
One disadvantage of using TTL based health check is the high network
traffic between Consul agent (either between servers, or between server
and client).
In order for the services considered alive by Consul, microservices must
send an update TTL to Consul every n seconds (currently 30 seconds).
Here is the explanation about TTL check from Consul documentation [1]
Time to Live (TTL) - These checks retain their last known state for a
given TTL. The state of the check must be updated periodically over
the HTTP interface. If an external system fails to update the status
within a given TTL, the check is set to the failed state. This
mechanism, conceptually similar to a dead man's switch, relies on the
application to directly report its health. For example, a healthy app
can periodically PUT a status update to the HTTP endpoint; if the app
fails, the TTL will expire and the health check enters a critical
state. The endpoints used to update health information for a given
check are the pass endpoint and the fail endpoint. TTL checks also
persist their last known status to disk. This allows the Consul agent
to restore the last known status of the check across restarts.
Persisted check status is valid through the end of the TTL from the
time of the last check.
Hint:
TTL checks also persist their last known status to disk. This allows
the Consul agent to restore the last known status of the check
across restarts.
When microservices update the TTL, Consul will write to disk. Writing to
disk means all other slaves need to replicate it, which means master need
to inform other standby Consul to pull the new catalog. Hence, the
increased traffic.
More information about this issue can be viewed at Consul mailing list [2].
[1] https://www.consul.io/docs/agent/checks.html
[2] https://groups.google.com/forum/#!topic/consul-tool/84h7qmCCpjg
2018-03-14 19:40:59 +07:00
Asim Aslam
c9b40cb33b
switch to stdlib context
2018-03-03 11:53:52 +00:00
Asim Aslam
982e6068cf
support services without version
2018-03-01 17:35:13 +00:00
Asim Aslam
d0d9582b81
Merge pull request #206 from darren-west/master
...
Added Options() to registry interface
2018-02-19 20:52:28 +00:00
Asim Aslam
02260dcaa3
Add watch options
2018-02-19 17:12:37 +00:00
Siyun Wu
7c8d6087de
add https support for consul
...
using enviroment variables
for example:
export CONSUL_HTTP_SSL=1
export CONSUL_HTTP_ADDR="https://example.com "
export CONSUL_CLIENT_CERT="/Users/foo/.ssh/consul/consul.cert"
export CONSUL_CLIENT_KEY="/Users/foo/.ssh/consul/consul.key"
export CONSUL_CACERT="/Users/foo/.ssh/consul/ca.cert"
2017-11-20 15:34:52 +08:00