| ▲ | LLMs are breaking 20 year old system design(zknill.io) | |||||||||||||||||||||||||||||||
| 30 points by zknill 8 hours ago | 28 comments | ||||||||||||||||||||||||||||||||
| ▲ | manueltgomes 7 hours ago | parent | next [-] | |||||||||||||||||||||||||||||||
> Long running work: an agent doing a 10 minute task isn’t a ‘request’, it’s a long-running async process. Correct, but we solved this a long time ago when we started sending files to servers to be converted, for example. We either got a 'job_id' or a call to a webhook when the job was finished." | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | grugdev42 6 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Article doesn't make sense. Some of the "horizontally scaled" servers have their own state. A local cache, a temporary filesystem etc. Also, has teh author never heard of long running queued jobs? Or long running scheduled jobs? They ultimately report back into the DB (updating their status etc). This article reeks of someone using AI to make huge leaping jumps of logic. The "single source of truth" rule has survived this long for a reason. It works! | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | bilbo-b-baggins 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Claude code runs as a nearly stateless server using session JSONL files as a conversation database, sending stateless API requests to Anthropic, etc. This post doesn’t seem to understand how these systems work at the core of agent harnesses. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | ahofmann 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
To me this makes no sense. Nothing in web development changes because of long running requests, there are plenty of solutions for this. The most easy one is to just listen long enough on a http request for the answer. The routing problem can be mitigated with session pinning. Http2 and 3 have solutions for streaming data, websockets can be used, and pub/sub also. Heck, we could push the LLM response in a k2v system/redis and read it from there. "State is in the DB" is running strong and will be for decades to come. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | mattjoyce 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Durable is used 13 times in this article. | ||||||||||||||||||||||||||||||||
| ▲ | NitpickLawyer 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
> LLMs just make this problem more visible. This theme keeps popping up everywhere. Lots of things were "the way we did things" because a lot of reasons. LLMs just amplify some things and they get enhanced visibility. It can be a good thing, if you're able to understand what/why/how changed, or it can be a bad thing if you insist that "this is how we do things, because this is how we've always done things". | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | foo42 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
It feels like the virtual actors are the primitive the author is reaching for. As an erstwhile Elixir hobbyist I've often found myself wishing for the simplicity of actors when solving problems in my day job. I tend to work in an AWS environment, but I believe over in Azure they have something like it. I think it was called Orleans when I read about it but I think it's got a more corporate name now. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | pmargam 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Using Cloudflare's Durable Objects https://developers.cloudflare.com/durable-objects/concepts/w... for this and works pretty well. | ||||||||||||||||||||||||||||||||
| ▲ | skywhopper 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
This article is clearly written by someone who’s never done any work on actually complex web applications. Nothing here is a new problem nor unsolved. The pattern identified as being “LLM specific” (long-running async jobs) is not particularly unusual. | ||||||||||||||||||||||||||||||||
| ▲ | ventana 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
If I'm reading it correctly, the TL;DR of the article is: given the client and the server, we need to be able to ingest messages to the client-server communication channel, and this channel should survive a disconnection. The article suggests using named pub/sub channels for communication, so that the “connection” between a given client and a given (cloud) server had a name and it was possible to ingest data chunks into that named channel. I would suggest that there is a much, much older technology than pub/sub that can be used for such kind of data transfer: it's UDP, documented in 1980. I can't stop thinking how overcomplicated our software engineering reality is so we need to reinvent layers and layers of stuff on top of the other stuff. We must make applications for browsers; browsers disallow basic network communication for the code they execute; so sending a chunk of data from a client to a server becomes a real adventure. | ||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||
| ▲ | haileys 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
The premise is incorrect and ignorant of the history - this is sticky sessions and the idea has been around longer than 20 years. The "cloud native" (as the author refers to it) idea that app servers should be stateless is actually the new idea. The industry eventually reached consensus on sticky sessions being a bad idea a lot of the time. That's why stateless app servers became the norm. | ||||||||||||||||||||||||||||||||
| ▲ | deafpolygon 3 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
Written by AI… | ||||||||||||||||||||||||||||||||
| ▲ | throwaway27448 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
? Yes if you treat llms like deterministic computation you'll get fucked, news at eleven. In terms of apps "shitty but uncannily useful search" seems like a better fit | ||||||||||||||||||||||||||||||||
| ▲ | Junnn 7 hours ago | parent | prev | next [-] | |||||||||||||||||||||||||||||||
[dead] | ||||||||||||||||||||||||||||||||
| ▲ | vincenthsin 4 hours ago | parent | prev [-] | |||||||||||||||||||||||||||||||
[dead] | ||||||||||||||||||||||||||||||||