2013-01-25 18:36:41 -08:00
2013-01-25 18:36:41 -08:00
2012-12-30 19:21:31 -08:00
2013-01-25 17:25:32 -08:00
2012-12-30 19:21:31 -08:00
2012-12-30 19:21:31 -08:00
2013-01-25 17:39:59 -08:00
2013-01-01 20:14:58 -08:00
2013-01-16 01:35:24 -08:00

What's going on?

  • worker.rb connects to router and adds routes.
  • client.rb connects to router which checks the routing table, proxies the request to one of the destinations and returns the response.

The idea here is that IronWorker backend can tell the router that it started a process and to start routing requests.

Todo

This is just a simple prototype. To get to production would need:

  • Routing table in central storage (mongo or IronCache) so all routers can write to it and read to get updates.
  • Update routing table from central store every X minutes.
  • Remove failed routes and start new workers if it failed.
  • Expire routes after 55 minutes or so.
  • Ability to start new workers if none are running.
  • Ability to always keep a minimum number running at all times, like at least one (or not if on free account?).
  • Ability to start new workers based on some auto scaling scheme.
  • Authentication (same as always).

Testing

  • start helloserver.go
  • start router.go
  • ruby worker.rb a couple times
  • ruby client.rb

Testing for reals

Description
The container native, cloud agnostic serverless platform.
Readme Apache-2.0 170 MiB
Languages
Go 97.4%
Shell 1.2%
Ruby 0.5%
Makefile 0.4%
Dockerfile 0.4%
Other 0.1%