Hello Gordon,
I'm not a fan of "best practice" questions, it's hard to answer, one can't
guess anything about the context where the "practice" has to apply.
Feel free to implement your own storage participant with the reservation
routines you need.
You've listed two techniques, implement those as your reservation routines.
Make sure you can switch at runtime. "Oh, technique A is not the right one in
that can, let's switch that participant to technique B" (on the fly). Make it
so that you can add technique C (and maybe deprecate technique A) later on.
Make sure to add diagnostic/monitoring tools to your participant (or your
frontend to a vanilla ruote storage participant), so you can assess and then
switch technique and/or develop better techniques.
Sorry for playing it meta.
Best regards,
--
John Mettraux -
http://lambda.io/jmettraux