Re: [dispatch] Proposal for Per Resource Events Protocol

Michael Toomim <toomim@gmail.com> Sun, 13 August 2023 05:24 UTC

Return-Path: <toomim@gmail.com>
X-Original-To: dispatch@ietfa.amsl.com
Delivered-To: dispatch@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 577B4C1519B4 for <dispatch@ietfa.amsl.com>; Sat, 12 Aug 2023 22:24:13 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -7.199
X-Spam-Level:
X-Spam-Status: No, score=-7.199 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, NICE_REPLY_A=-0.091, RCVD_IN_DNSWL_HI=-5, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.com
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id UstOp_niT1B3 for <dispatch@ietfa.amsl.com>; Sat, 12 Aug 2023 22:24:13 -0700 (PDT)
Received: from mail-pf1-x42e.google.com (mail-pf1-x42e.google.com [IPv6:2607:f8b0:4864:20::42e]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EF743C15109B for <dispatch@ietf.org>; Sat, 12 Aug 2023 22:24:12 -0700 (PDT)
Received: by mail-pf1-x42e.google.com with SMTP id d2e1a72fcca58-686be28e1a8so2356917b3a.0 for <dispatch@ietf.org>; Sat, 12 Aug 2023 22:24:12 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1691904251; x=1692509051; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :from:to:cc:subject:date:message-id:reply-to; bh=STEcBbqBRvjzorkXx/MD6ycackh6j6L4PjPGKsI42lw=; b=iGNlufrPWKkWxxp2eOt+n9kPRmiGTNleE6ht6MBEif50RMGiafCCAaNDsyqB5AdW46 OEM4gsnEzX0NxkT8fcy5bJtse4ZXysR/T/fRKr6sW19E/xnrYcr937nVcQ6VDr73mUd2 /SyXc3zQOzXMIMi/vQaoPwJW0cRjF3+vpfKY09OlKnGYkU7Rz2wCKjwc77A4wj+4pURa LtjbgkoZMDZ/bNA8HT2kj1YncoOM5gZOrZhFkKAptn3yrka49aK8rlFY5yBqQsMQ/UWV F6qUF33Uq2amEE/2ElF2CDeHVAJ+KugPTxkFjgPNRPFLuaPGwI6MO8aWMvKzr9c73S5U cOuA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1691904251; x=1692509051; h=content-transfer-encoding:in-reply-to:from:references:to :content-language:subject:user-agent:mime-version:date:message-id :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=STEcBbqBRvjzorkXx/MD6ycackh6j6L4PjPGKsI42lw=; b=kUL9aB+AqvzMJsJdl7kpULak9rPYcWilHsYH0MxRwc1dd1XbE5J37O6Z1ucSj2BgoX svcGohRwIr2fHRMHjx0v/ni5kIoTBtZYRHjuyjyFfqn2J5x00rBncshdnLsmtMBGXxN3 xtbRSB9fH/6YW6fmOyM3OtqNnfCxgPjUs8HW0Ok/CEv2igdnRA48evFYNe9cKA64O6zJ niZ90RA1dy2oQ12okyafma6Q3qUsoA1fwAFpg7eUlmBB/iaspcUQZQqKPvMVYauYqOYF guiTceXuIGmFor8Q5P5a2LdlMfWxqssDQ6tordV7v0by/z7RYZx7g97wv/WDRHc+n40X EkLA==
X-Gm-Message-State: AOJu0YyydUbiCg7w9nbVrP6s8VDi0voQgnAqrveKUsEFdrRxFI3iCkKN 9btr5gnM82uyX+uX6c5uvmUkC3775XE=
X-Google-Smtp-Source: AGHT+IGDBVO1zUvFMh95vyfYWSWeLqLUhmUhIfWVmt/CtZFBA/mYFB15pGdEs61fAzcYEwwTgEYQZg==
X-Received: by 2002:a05:6a00:188b:b0:687:1a86:7a78 with SMTP id x11-20020a056a00188b00b006871a867a78mr7004123pfh.9.1691904251495; Sat, 12 Aug 2023 22:24:11 -0700 (PDT)
Received: from ?IPV6:2600:380:7030:69f1:f97e:308:8f68:544? ([2600:380:7030:69f1:f97e:308:8f68:544]) by smtp.gmail.com with ESMTPSA id s24-20020aa78298000000b00640dbbd7830sm5862959pfm.18.2023.08.12.22.24.10 for <dispatch@ietf.org> (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 12 Aug 2023 22:24:11 -0700 (PDT)
Message-ID: <c118cb08-08a7-10e5-9570-585f481ef4e8@gmail.com>
Date: Sat, 12 Aug 2023 22:24:09 -0700
MIME-Version: 1.0
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.14.0
Content-Language: en-US
To: dispatch@ietf.org
References: <878ralz3o1.fsf@hobgoblin.ariadne.com>
From: Michael Toomim <toomim@gmail.com>
In-Reply-To: <878ralz3o1.fsf@hobgoblin.ariadne.com>
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/dispatch/9Uf76hpjHJwyWMIORyBE39Vkep0>
Subject: Re: [dispatch] Proposal for Per Resource Events Protocol
X-BeenThere: dispatch@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: DISPATCH Working Group Mail List <dispatch.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/dispatch>, <mailto:dispatch-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/dispatch/>
List-Post: <mailto:dispatch@ietf.org>
List-Help: <mailto:dispatch-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/dispatch>, <mailto:dispatch-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 13 Aug 2023 05:24:13 -0000

I want to second this point made by Dale:

> However, it looks like you don't specify what the notifications (the
> body parts of the multipart) will look like.  That may be intended or
> even necessary for this specification, but it means that every
> implementation for an object has to design what its notifications will
> look like.  As Mnot says, that's a negative:  "Intermediaries can't
> understand application-specific semantics, so they can't add much value
> to them without making some big assumptions."

This is why I think it's much more valuable to go all the way, and 
standardize how mutations occur, rather than just provide a generic 
event stream.

Consider that right now, CDNs can only cache a website's static assets. 
All the dynamic state runs over a WebSocket, and the CDN can't store it.

But by standardizing mutations to state, we can have CDNs that 
understand when state changes, and can maintain the current value.

This lets us solve one of the "hardest problems in computer science" — 
dirtying caches. We no longer have to mess with max-age headers. We no 
longer have to force-reload our caches, or add webhooks to tell the CDN 
when it needs to refresh our assets. The CDN can just watch the mutation 
stream, and update itself automatically, in real-time, without any 
additional instruction.