Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
kentonv
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
51 ms
·
901.
▲
by
kentonv
4y ago
The exact details aren't all nailed down but I'd expect for incoming connections Workers would integrate directly with Spectrum. I don't know what that might mean for pricing, but I imagine we'd find a solution where cos
902.
▲
by
kentonv
4y ago
The blog post attempted to explain what makes workerd interesting as a platform, independent of Cloudflare. It allows for a new development model where you split your application into smaller components. Maybe that's interesting to you
903.
▲
by
kentonv
4y ago
It depends on how much you trust your clients. workerd ensures that a Worker cannot access protected resources by accident or negligent programming. What it can't protect against (on its own) is intentional exploitation of security bug
904.
▲
by
kentonv
4y ago
You have to use heavier isolation mechanisms with those languages -- processes, containers, virtual machines. These are too heavy to support thousands of tenants per machine. Edge locations are typically smaller clusters, and you typically
905.
▲
by
kentonv
4y ago
While the WebSocket protocol indeed has built-in ping/pong, it's somewhat difficult to rely upon. Web browsers do not provide any API to send pings from the client side. As a result a lot of applications end up implementing applic
906.
▲
by
kentonv
4y ago
At present you have to reload the process after changes, but the underlying codebase obviously supports dynamic loading so this may change. Today is about getting the code out there, the next step is figuring out exactly what workflows peo
907.
▲
by
kentonv
4y ago
Regarding the HTTP limitation, we are working towards adding raw TCP and other protocols soon. (I know we've been saying this for a while... too much to do, too little time, and this one got reprioritized down the list a bit, but is ge
908.
▲
by
kentonv
4y ago
Good question. I don't think we have a clear answer yet. Ideally I think we want to be agnostic to these things as much as possible, so as to fit into whatever orchestration systems people are already using. At the same time, I persona
909.
▲
by
kentonv
4y ago
This comes from unix tradition, where you have servers like httpd, smtpd, sshd, systemd, etc. Honestly, it's a boring name. We had a big debate over naming with a lot of interesting ideas, but ultimately every idea was hated by someone
910.
▲
by
kentonv
4y ago
I had to squash history on the first commit for a bunch of reasons, but there are 55 co-authors listed. :) https://github.com/cloudflare/workerd/commit/a265d5c22bf2a6b...
911.
▲
by
kentonv
4y ago
Also on point 4: The next version of Miniflare -- our local testing environment -- is based on workerd and will include implementations of those HTTP APIs behind KV and R2 for testing purposes, which the Wrangler CLI tool will hook up autom
912.
▲
by
kentonv
4y ago
Because each service runs in its own isolate, it can be built and deployed independently of the others. So if some other team's code is broken at HEAD, that doesn't stop your team from deploying. Also you don't have to agree
913.
▲
by
kentonv
4y ago
The config format is defined and documented here: https://github.com/cloudflare/workerd/blob/main/src/workerd/... We definitely need to provide more higher-level documentation around this, whic
914.
▲
by
kentonv
4y ago
workerd includes implementations of the KV and R2 binding APIs, which convert all your calls into HTTP requests under the hood. You can point that at another Worker or to a separate HTTP service to implement the storage behind them. We plan
915.
▲
by
kentonv
4y ago
Thanks! Some notes on your notes: 1. We float a couple patches on V8 but we keep it very up-to-date. Generally by the time a version of V8 hits Chrome Stable, we're already using it. I would indeed like to upstream the patches, which s
916.
▲
by
kentonv
4y ago
Thank you! But for the record there are at least 56 people who contributed to this code and they all deserve credit. :) https://github.com/cloudflare/workerd/commit/a265d5c22bf2a6b...
917.
▲
by
kentonv
4y ago
I got tired of arguing about .cpp vs. .cc vs. .cxx vs. .C. So I used the actual name of the language, and it worked fine. :)
918.
▲
by
kentonv
4y ago
Doh. Yeah that's way out-of-date, I'll get it fixed. FWIW contrary to the note on that page, WebSocket pricing is documented along with Durable Objects here: https://developers.cloudflare.com/workers/platform&
919.
▲
by
kentonv
4y ago
Hmm, I believe WebSocket support came out of beta at the same time as Durable Objects, about a year ago. It's entirely possible we forgot to update a doc, though. We do have some plans around making WebSockets more efficient by allowin
920.
▲
by
kentonv
4y ago
Haha, I started doing this with Cap'n Proto 10 years ago. :) I periodically get crap for it but so far it hasn't really broken anything. The biggest annoyance is exactly what you point out -- the GitHub URLs look ugly because they
921.
▲
by
kentonv
4y ago
You might be interested in Durable Objects, which is essentially an actor model within Workers. https://blog.cloudflare.com/introducing-workers-durable-obje... Durable Objects aren't exactly the same as Erlang actors (
922.
▲
by
kentonv
4y ago
Thanks. Indeed, I always expected to release this code eventually and I'm very happy that it's finally happened. Also very happy we could do it under an actual open source license. We've always designed Workers around open st
923.
▲
Workerd: Open-source Cloudflare workers runtime
(blog.cloudflare.com)
689 points
by
kentonv
4y ago
|
133 comments
924.
▲
by
kentonv
4y ago
> if they don’t consider it safe for process multitenancy, which they have every incentive to do, it’s not safe. It's more nuanced than that. Unfortunately security is not a boolean thing, where it's either secure or it's
925.
▲
by
kentonv
4y ago
Yes but that's not what this table is describing. The table appears to be describing cosmopolitan libc's wrappers. Certainly most of these syscalls do not exist on Windows, so the "Windows" column couldn't possibly
926.
▲
by
kentonv
4y ago
That's not true when you're sending a request to a site belonging to a different Cloudflare account. In that case, the headers are set to a non-routable placeholder IP address used to represent Workers itself. Passing through the
927.
▲
by
kentonv
4y ago
It actually makes sense to me. I've pinged the bots team to see if we can improve here.
928.
▲
by
kentonv
4y ago
Hello! See: https://news.ycombinator.com/item?id=32816319
929.
▲
by
kentonv
4y ago
I kind of wish I didn't say "message bus" in that example, that sounds too enterprise-y. In practice the use case I had in mind was the Google Search pipeline. Simplifying quite a bit, there is (or was, 15 years ago) a front-
930.
▲
by
kentonv
4y ago
It's been 15 years since I wrote this so I don't remember exactly, but I think it's just an implementation quirk. See: https://github.com/protocolbuffers/protobuf/blob/main/src/go...
More ›