Skip to content

[Feature Request]: Seamless GAS-Level Load Balancing and Inter-Node Traffic Distribution #490

@w0l4i

Description

@w0l4i

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions