Earlier quoted context omitted.
Sounds like the whole point is you don't have to take anything special into account. Edit: Except determinism?
https://github.com/temporalio/hello-world-project-template-j... You have to write your code using Temporal SDK. At a quick glance: main() calls WorkflowServiceStubs/WorkflowClient I also see something called an "Activity" Also see something called a Worker. Not trying to argue. Genuinely curious if you think this is within the realm of "not take anything special into account" (be forced to use a specific SDK and lay…
Building Reliable Distributed Systems in Node.js
11–18 of 18 posts
Re: Building Reliable Distributed Systems in Node.js
#12Never heard of durable execution until now, but I've wondered about it. When I write backend code, I have to keep asking myself "what happens if the server goes down during this line of code?" This is often an issue in the middle of a customer order, like the example here. I end up relying on the database for very many tiny little things, like recording the fact that the user initiated an order before I start to proc…
Starting a workflow is currently ~40ms, and I think we’ll be able to get down to 10ms this year. How long it takes to complete depends on how many persisted steps it takes (and whether it has to wait on an external event). The only steps that are persisted are workflow api calls like sleep(), startChildWorkflow(), or calling code that might fail (ie “Activity”, like a network request).
Re: Building Reliable Distributed Systems in Node.js
#13Or you could not use a scripting language and save 50 times the cost
Re: Building Reliable Distributed Systems in Node.js
#14Earlier quoted context omitted.
you have to code your entire architecture around this premise though, no? aka start from scratch and write things a certain way
Sounds like the whole point is you don't have to take anything special into account. Edit: Except determinism?
Re: Building Reliable Distributed Systems in Node.js
#15Never heard of durable execution until now, but I've wondered about it. When I write backend code, I have to keep asking myself "what happens if the server goes down during this line of code?" This is often an issue in the middle of a customer order, like the example here. I end up relying on the database for very many tiny little things, like recording the fact that the user initiated an order before I start to proc…
Yeah, I’ve also written this write-to-db-after-each-meaningful-line-of-code style code, and this is a great improvement. See the first 20m of this talk for an example: https://youtu.be/EFIF8gk9zy8 Starting a workflow is currently ~40ms, and I think we’ll be able to get down to 10ms this year. How long it takes to complete depends on how many persisted steps it takes (and whether it has to wait on an external event).…
Ok, that's what I was wondering. Makes a lot more sense this way.
Re: Building Reliable Distributed Systems in Node.js
#16Earlier quoted context omitted.
Sounds like the whole point is you don't have to take anything special into account. Edit: Except determinism?
https://github.com/temporalio/hello-world-project-template-j... You have to write your code using Temporal SDK. At a quick glance: main() calls WorkflowServiceStubs/WorkflowClient I also see something called an "Activity" Also see something called a Worker. Not trying to argue. Genuinely curious if you think this is within the realm of "not take anything special into account" (be forced to use a specific SDK and lay…
Re: Building Reliable Distributed Systems in Node.js
#17Earlier quoted context omitted.
https://github.com/temporalio/hello-world-project-template-j... You have to write your code using Temporal SDK. At a quick glance: main() calls WorkflowServiceStubs/WorkflowClient I also see something called an "Activity" Also see something called a Worker. Not trying to argue. Genuinely curious if you think this is within the realm of "not take anything special into account" (be forced to use a specific SDK and lay…
I thought this comment chain was about durable execution in general. Temporal seems to be that plus some RPC stuff that is a lot more than "nothing special."
Re: Building Reliable Distributed Systems in Node.js
#18This post talks about the durable execution systems, which include Azure Durable Functions, Amazon SWF, Uber Cadence, Infinitic, and Temporal. Durable execution systems run our code in a way that persists each step the code takes. If the process or container running the code dies, the code automatically continues running in another process with all state intact, including call stack and local variables. Durable execu…