持久执行与 Temporal
构建简单、复杂、有弹性的应用程序的抽象
在 Temporal 平台上开发您的应用程序,您将获得一项秘密武器——持久执行,它保证您的代码无论如何都能完成运行。结果?更易于开发和维护的可靠应用程序。

如何使用 Temporal 构建
将您的业务逻辑编写为代码
Temporal SDK 为您的应用程序提供基础。选择您首选语言的 SDK 并编写您的业务逻辑。您可以使用您最喜欢的 IDE、库和工具进行编码,然后您可以构建、部署和运行应用程序,无论在哪里以及如何选择。
1将您的业务逻辑编写为代码
Temporal SDK 为您的应用程序提供基础。选择您首选语言的 SDK 并编写您的业务逻辑。您可以使用您最喜欢的 IDE、库和工具进行编码,然后您可以构建、部署和运行应用程序,无论在哪里以及如何选择。
创建保证执行的 Workflows
Temporal Workflow 定义您的业务逻辑。它可能涉及在银行账户之间转移资金、处理订单、部署云基础设施、训练人工智能模型,或者其他任何事情。
由于 Workflow 的完整运行状态默认情况下是持久且容错的,因此您的业务逻辑可以从任意点恢复、重放或暂停。
深入了解

2创建保证执行的 Workflows
Temporal Workflow 定义您的业务逻辑。它可能涉及在银行账户之间转移资金、处理订单、部署云基础设施、训练人工智能模型,或者其他任何事情。
由于 Workflow 的完整运行状态默认情况下是持久且容错的,因此您的业务逻辑可以从任意点恢复、重放或暂停。

编写 Activities 以处理和重试容易出错的逻辑
应用程序需要与服务、用户和设备固有地容易出错或响应时间过长的真实世界进行交互。
使用 Temporal,这些部分的逻辑实现为 Activities,由 Workflow 编排的单独函数或方法。Temporal Activities 可以运行尽可能长的时间(具有心跳),可以永远自动重试(设置为策略),并且可以路由到特定的服务或进程。
深入了解

3编写 Activities 以处理和重试容易出错的逻辑
应用程序需要与服务、用户和设备固有地容易出错或响应时间过长的真实世界进行交互。
使用 Temporal,这些部分的逻辑实现为 Activities,由 Workflow 编排的单独函数或方法。Temporal Activities 可以运行尽可能长的时间(具有心跳),可以永远自动重试(设置为策略),并且可以路由到特定的服务或进程。

在您的基础设施上部署您的应用程序
您使用现有的构建、测试和部署工具在您的基础设施上部署应用程序代码(Workflow 和 Activities)。
您如何构建您的应用程序由您决定。Temporal 可以逐步引入到您现有的架构中,无论它是单体还是复杂的微服务网络。

4在您的基础设施上部署您的应用程序
您使用现有的构建、测试和部署工具在您的基础设施上部署应用程序代码(Workflow 和 Activities)。
您如何构建您的应用程序由您决定。Temporal 可以逐步引入到您现有的架构中,无论它是单体还是复杂的微服务网络。

将您的应用程序连接到 Temporal 服务

Temporal 服务通过与 Workers 交换事件来协调应用程序代码(Workflows 和 Activities)的执行。该服务可以自行托管或完全由 Temporal Cloud 进行管理和无服务器化。
Workers 轮询任务队列,该队列为其提供要执行的任务。它将结果返回给服务,服务通过将其他任务添加到队列来响应,重复此过程直到执行完成。
该服务维护每个执行的详细历史记录。如果应用程序崩溃,另一个 Worker 会自动接管,通过重放此历史记录来恢复崩溃之前的状态,然后继续。
5将您的应用程序连接到 Temporal 服务
Temporal 服务通过与 Workers 交换事件来协调应用程序代码(Workflows 和 Activities)的执行。该服务可以自行托管或完全由 Temporal Cloud 进行管理和无服务器化。
Workers 轮询任务队列,该队列为其提供要执行的任务。它将结果返回给服务,服务通过将其他任务添加到队列来响应,重复此过程直到执行完成。
该服务维护每个执行的详细历史记录。如果应用程序崩溃,另一个 Worker 会自动接管,通过重放此历史记录来恢复崩溃之前的状态,然后继续。

Temporal 默认是安全的
Workflow 和 Activities 作为您应用程序的一部分部署在您的基础设施上,并且您的应用程序与 Temporal 服务的所有连接都是单向的,因此您无需打开防火墙。
所有通信都是安全的,您的数据在您的应用程序中加密,使用您的加密库和密钥。Temporal 服务无需以明文形式访问您的数据。

6Temporal 默认是安全的
Workflow 和 Activities 作为您应用程序的一部分部署在您的基础设施上,并且您的应用程序与 Temporal 服务的所有连接都是单向的,因此您无需打开防火墙。
所有通信都是安全的,您的数据在您的应用程序中加密,使用您的加密库和密钥。Temporal 服务无需以明文形式访问您的数据。

调整 Workers 以提高规模和可用性
在运行时,应用程序可以根据您对规模、性能和可用性的要求,从几个实例增长到数千个实例。我们建议每个应用程序至少有两个 Workers,这样就没有单点故障。
您可以调整 Workers 以获得最佳性能,并且我们已经测试过 Temporal Cloud,使其能够扩展到每秒超过 2 亿次执行。

7调整 Workers 以提高规模和可用性
在运行时,应用程序可以根据您对规模、性能和可用性的要求,从几个实例增长到数千个实例。我们建议每个应用程序至少有两个 Workers,这样就没有单点故障。
您可以调整 Workers 以获得最佳性能,并且我们已经测试过 Temporal Cloud,使其能够扩展到每秒超过 2 亿次执行。

使用终端管理 Temporal 服务器
一个适用于 macOS、Windows 和 Linux 的命令行界面使您可以从终端与 Temporal 服务进行交互。它允许您管理 Workflow 执行并查看历史记录。
此外,它还可以用于启动一个自包含的轻量级服务器(start-dev),只需不到两秒钟的时间,让您可以直接从笔记本电脑上开发和测试 Temporal 应用程序。

8使用终端管理 Temporal 服务器
一个适用于 macOS、Windows 和 Linux 的命令行界面使您可以从终端与 Temporal 服务进行交互。它允许您管理 Workflow 执行并查看历史记录。
此外,它还可以用于启动一个自包含的轻量级服务器(start-dev),只需不到两秒钟的时间,让您可以直接从笔记本电脑上开发和测试 Temporal 应用程序。

监控应用程序的单个执行
最后,Temporal Web UI 允许您从方便的基于浏览器的界面检查过去和现在的 Workflow 执行的详细信息。它可以帮助您快速隔离、调试和解决生产问题。

9监控应用程序的单个执行
最后,Temporal Web UI 允许您从方便的基于浏览器的界面检查过去和现在的 Workflow 执行的详细信息。它可以帮助您快速隔离、调试和解决生产问题。
