I’m trying to understand how to best design my mailing system to allow it to scale in the future. I don’t think I understand how inter-canister update calls work.
The two systems architectures I’m considering are:
-
A Facade Canister that interfaces to N data bucket canisters. Update calls hit the facade, which routes the call to the best data canister.
-
A Register Canister that returns where a some data should go, or currently is.
In case one, since the writes are hitting difference canisters but proxied, have I actually increased the throughput of the system? Or, because they are all going through a single canister, have I only increased my storage capacity?
Case two I know works, but would be a hassle (not a huge one though) because the client would have to locate the canister each time a call is made.