feat(encyclopedia): added new pages to explain the Temporal architecture#4731
feat(encyclopedia): added new pages to explain the Temporal architecture#4731flippedcoder wants to merge 12 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
📖 Docs PR preview links
|
7336b6f to
4d7d297
Compare
1781a43 to
b4a2e04
Compare
b4a2e04 to
0d88fc1
Compare
0d88fc1 to
749391b
Compare
749391b to
e65e77a
Compare
|
I think Temporal Client should be its own thing and not under the architectural section! |
e65e77a to
a5f708f
Compare
|
|
||
| To understand how Temporal works, you can start at the high level architecture view. This shows how all of the different layers interact with each other. Then you can take a deep dive into each layer. | ||
|
|
||
| <EnlargeImage |
There was a problem hiding this comment.
This diagram is a bit too complex. Even when enlarged, I can barely read the text. Even if the text was legible, I still feel like there is too much detail in a single diagram.
I think we should remove maybe like 2 levels of details from this. And then in each of the individual component we add the details back. So for example Temporal service just has the 4 services, not the box about what they do. We then add those back when we get to the individual services.
|
|
||
| Temporal can also integrate with Elasticsearch to provide advanced search and visibility capabilities for Workflow Executions. Without it, you're limited to basic filtering. Grafana can be used to enable operational dashboards and monitoring for the Temporal Service itself. | ||
|
|
||
| ## Infrastructure |
There was a problem hiding this comment.
I am not sure if this section adds much value compared with the rest to explain Temporal architecture. It reads a little more like marketing copy to me, and I feel like it's not in the right place.
|
|
||
| In a Temporal application, the [Client](/encyclopedia/architecture/temporal-architecture#client-application), [Server](/encyclopedia/architecture/temporal-architecture#the-temporal-server), and [Worker](/encyclopedia/architecture/temporal-architecture#worker-service) are three separate parts that talk to each other and each one has a clear purpose. To understand the internal mechanics of Temporal, it helps to follow what happens when you start a Workflow or schedule [Tasks](/tasks#task). | ||
|
|
||
| ## Relationship between the Client, Server, and Worker |
There was a problem hiding this comment.
Let's have a high-level summary of the relationship here, maybe accompanied by a diagram?
Or maybe we do away with this all together and explain it all in the interactive demo. Right now users have to scroll to get to the demo with this text here
|
|
||
| **Step 4: A Worker polls for a Workflow Task** | ||
|
|
||
| A Worker process (your code + SDK) is already polling that Task Queue using PollWorkflowTask via Frontend Service. The Frontend Service asks Matching for a task. The Matching Service picks this Workflow Task and tells the History Service that it was started. The History Service appends WorkflowTaskStarted to the Event History and returns the Workflow Task (plus history) to the Worker through Frontend. |
There was a problem hiding this comment.
I feel like sometimes we are a little inconsistent with when the frontend service is involved. All extenal components only talks to frontend, but sometimes we don't involve the frontend and only show the underlying service (e.g. worker -> task queue instead of worker -> frontend -> matching service -> task queue). I think we need to either add some clarification or be consistent here
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
1bd39da to
81acab3
Compare
@jsundai Just trying to understand, but what makes you think that about the client page? And do you think the same goes for the SDK page? 👀 |
Co-authored-by: Lenny Chen <55669665+lennessyy@users.noreply.github.com>
What does this PR do?
This adds 2 new pages to the
encyclopediaunder a newarchitecturesub-heading. The first page is to go into detail about the different parts of Temporal, the second page is to go into detail about how Temporal works with an interactive example.Notes to reviewers
The core changes are in the pages under architecture/how-temporal-works.mdx and architecture/temporal-architecture.mdx.
Everything else is either a link update, new images, or component changes.
┆Attachments: EDU-6553 feat(encyclopedia): added new pages to explain the Temporal architecture