Hello
I am planning some web apps, each of which at least initially will have a modest amount of traffic. Therefore it makes sense to use one image to run them all at the same time.
I can do in a straightforward way from the delegate:
(ZnServer startOn: 1701)
delegate: (ZnDefaultServerDelegate new
at: '/' put: 'shop';
at: 'shop' put: [ :req | self serveShopPages: req ]; …)
and then:
#serveShopPages: aRequest
| host |
host := self getHostDetails: aRequest.
…
and
#getHostDetails: aRequest
“Look in a class-side collection for cached host details.”
It is cumbersome though because each slot of the routing table I have to fetch the host details, but it is not too onerous. Most of the content will be static so I can cache it on the web-cache (nginx, ATS etc).
Has anyone had any experience with multi-tenanting a ZnServer? It is hard to test the scaling as it depends on 1001 different things.
Vince