-
Notifications
You must be signed in to change notification settings - Fork 712
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multi-tenant architecture for the app #996
Conversation
6c1619b
to
25d64f4
Compare
b4e5a4a
to
2bc52f4
Compare
2bc52f4
to
c41c20e
Compare
52b4bc4
to
339567f
Compare
Initially looks fine. fns (particularly consulpiperouter) are too large and need breaking down, IMO (but at least there are lots of comments). |
Yeah I'm rewriting pipe router into mich smaller bits. Thanks! On Friday, 11 March 2016, Paul Bellamy notifications@github.com wrote:
|
c9ab3a5
to
2451500
Compare
} | ||
|
||
// Atomically modify a pipe in a callback. | ||
// If pipe doesn't exist you'll get nil in callback. |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
|
||
// Next wait for other end to connect | ||
// at this point we 'own' one end | ||
pipe, err := pr.watch(key, mtime.Now().Add(10*longPollDuration), func(p *consulPipe) (bool, error) { |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
2451500
to
bf965b1
Compare
I've broken out the high-level consul client. Pipe-routing and the value data type have been left in there. |
bf965b1
to
cca52c6
Compare
Add DynamoDB based collector - Store compressed reports in dynamodb Add SQS based control router. - Uses a queue per probe and a queue per UI for control requests & responses. Add Consul-based, horizontally-scalable, multi-tenant pipe router. - Uses consul to coordinate each end of pipe connections replicas of a pipe service.
8309a02
to
f0f03d3
Compare
|
||
addr := fmt.Sprintf("%s:%d", pr.advertise, privateAPIPort) | ||
log.Infof("Serving private API on endpoint %s.", addr) | ||
log.Infof("Private API terminated: %v", http.ListenAndServe(addr, router)) |
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
This comment was marked as abuse.
This comment was marked as abuse.
Sorry, something went wrong.
LGTM |
My aim is to break this into multiple PRs:
Refactor app for multitenancy #997, Refactoring for multitenancy #1150)TO DEMO:
TODO: