32 Commits

Author SHA1 Message Date
Jelmer Snoeck
e59f7a7ace
ConsulRegistry: use health checks to select nodes.
Consul sees a healthcheck that is in the warning state as a "failed"
node. This means that when we ask Consul for services that are passing,
it would not return nodes that have warning healthchecks.

In the cache, we only check on critical to skip for nodes. This makes
the cache out of sync with the non-cache implementation.

This patch reworks the non-cache implementation to ask for all nodes
(even unhealthy ones) and does the same check as within the cache, skip
nodes that have critical healthchecks.

We've noticed this issue when we deployed custom healthchecks where the
cache was acting properly, but after 1 minute we saw "None Available"
errors. This is due to the TTL expiry on the cache, which is then
followed by doing a non cached request.
2016-08-26 08:36:45 +01:00
Asim
e2855c4bc2 Fix some mapping issues while we're at it 2016-04-09 22:19:03 +01:00
Asim
9d7bd3f424 God damn you nil map 2016-04-09 21:34:45 +01:00
Asim
b3fbd36ba7 Don't re-register if the state hasn't changed 2016-04-09 21:30:31 +01:00
Asim
61178d1b45 Update encoding to be backwards compatible. 2016-03-29 17:44:46 +01:00
Asim
e941796234 Add encoding that does not throw warns 2016-03-16 21:23:41 +00:00
Asim
f088074f29 Registry init 2016-03-15 22:20:21 +00:00
Asim
61094fefe8 If TTL is nil it might bail 2016-01-27 00:32:16 +00:00
Asim
55145d08a1 Use agent service for this 2016-01-27 00:15:46 +00:00
Asim
5ec9d561a6 meh 2016-01-26 23:32:27 +00:00
Asim
cd13f0389f Fix this cruft 2016-01-26 20:44:29 +00:00
Asim
822cc0e5da Use ServiceID as node.ID rather than Node.... in time remove Node/Address completely 2016-01-26 20:30:05 +00:00
Asim
a6ce435a07 If secure or tlsconfig not nil then secure 2016-01-17 00:33:07 +00:00
Asim
ae2ab911ed Access tls config 2016-01-16 23:39:47 +00:00
Asim
60ee085cbc Add secure option to registry 2016-01-16 20:25:18 +00:00
Asim
be43d827c7 Add String method to all interfaces 2015-12-19 21:56:14 +00:00
Asim
d7b3765c71 Allow setting of timeout for registry 2015-12-19 18:28:08 +00:00
Asim
d4f3a6070c Update the watch interface 2015-12-05 01:12:29 +00:00
Asim
9b23729eac add default port where none is specified 2015-11-16 12:11:03 +00:00
Asim
0320fc1b55 Update registry so version is surfaced 2015-11-08 01:48:48 +00:00
Asim
d9ae100524 Fix registry address usage 2015-10-26 20:23:57 +00:00
Asim
fcbd2acdde add endpoint data for consul registry 2015-10-11 12:05:20 +01:00
Asim
113cc8a9cb Remove service id so nodes are also removed from catalog 2015-08-15 23:03:50 +01:00
Asim
09c784d294 add support for streaming requests. cleanup watcher initilisation 2015-06-01 18:55:27 +01:00
Asim
36b5ca46fe Change initialisation and add metadata 2015-05-26 22:39:48 +01:00
Asim
7aa2c82ced Service and node should be structs rather than interface 2015-05-25 22:14:28 +01:00
Asim
74fd1fc989 Restructure go-micro layout and plugins 2015-05-23 20:04:16 +01:00
Asim
0e7bd77f4c Allow configurable addresses for everything 2015-05-16 00:34:02 +01:00
Asim
52f140da5f Add support for listing services, very rough 2015-04-03 00:52:49 +02:00
Asim
4b494966fb Add consul watcher 2015-02-14 23:00:47 +00:00
Asim
0e73a84857 github.com/armon/consul-api was deprecated, use official api 2015-01-19 19:37:28 +00:00
Asim
8e55cde513 First 2015-01-13 23:31:27 +00:00