Background & Context
Building on the discussions regarding the Google Apps Script (GAS) architecture in #462, I would like to propose a new architectural approach to optimize traffic handling and bypass strict single-account quota limitations.
The Idea
Implement a distributed, seamless load balancer directly at the GAS level. If GAS deployments on different Google accounts can communicate with each other efficiently, we can create a network of GAS nodes that share the workload.
Instead of a client relying solely on one GAS URL, the architecture would allow for inter-GAS communication:
Inter-GAS Routing: Deployment A (on Account 1) receives traffic from the client. Instead of processing the entire payload itself, it can request or offload specific tasks (e.g., DNS routing, lightweight requests) to Deployment B (on Account 2).
Traffic Spreading: GAS nodes can talk to each other to spread the incoming client traffic, effectively balancing the bandwidth.
Expected Benefits
Quota Optimization: By distributing the UrlFetchApp and execution time across multiple Google accounts, we can dramatically reduce the chance of burning through a single account's daily quota.
Lower Latency & Faster Load Times: Dynamic balancing could route traffic through the most responsive GAS nodes at any given time.
Higher Bandwidth: Aggregating the capabilities of multiple accounts provides a higher overall throughput for the end client.
Technical Considerations / Open Questions
Does a GAS-to-GAS UrlFetchApp call heavily impact the quotas of both the sender and the receiver, or is the overhead low enough to justify the extra hop?
How can we manage a secure, dynamic registry of active GAS node endpoints for them to communicate with each other?
This could introduce a powerful new layer of balancing to the architecture. I'd love to hear the developers' thoughts on whether this inter-script communication is feasible within the current Rust/GAS design! 💡
@therealaleph @claude @euvel
Background & Context
Building on the discussions regarding the Google Apps Script (GAS) architecture in #462, I would like to propose a new architectural approach to optimize traffic handling and bypass strict single-account quota limitations.
The Idea
Implement a distributed, seamless load balancer directly at the GAS level. If GAS deployments on different Google accounts can communicate with each other efficiently, we can create a network of GAS nodes that share the workload.
Instead of a client relying solely on one GAS URL, the architecture would allow for inter-GAS communication:
Inter-GAS Routing: Deployment A (on Account 1) receives traffic from the client. Instead of processing the entire payload itself, it can request or offload specific tasks (e.g., DNS routing, lightweight requests) to Deployment B (on Account 2).
Traffic Spreading: GAS nodes can talk to each other to spread the incoming client traffic, effectively balancing the bandwidth.
Expected Benefits
Quota Optimization: By distributing the UrlFetchApp and execution time across multiple Google accounts, we can dramatically reduce the chance of burning through a single account's daily quota.
Lower Latency & Faster Load Times: Dynamic balancing could route traffic through the most responsive GAS nodes at any given time.
Higher Bandwidth: Aggregating the capabilities of multiple accounts provides a higher overall throughput for the end client.
Technical Considerations / Open Questions
Does a GAS-to-GAS UrlFetchApp call heavily impact the quotas of both the sender and the receiver, or is the overhead low enough to justify the extra hop?
How can we manage a secure, dynamic registry of active GAS node endpoints for them to communicate with each other?
This could introduce a powerful new layer of balancing to the architecture. I'd love to hear the developers' thoughts on whether this inter-script communication is feasible within the current Rust/GAS design! 💡
@therealaleph @claude @euvel