首页  

Temporal Server architecture     所属分类 temporal 浏览量 569
Temporal Server 
本身不执行应用程序代码,而是使用 队列 计时器 和 数据库 跟踪应用程序的状态

user
    start workflow
    register application functions
    start workers
  
worker
    pull latest tasks
    hosts application functions and exxcutes them per tasks
    UserWorkflowFunctions{
        UserActivityFunction1()
        UserActivityFunction2()
    }
   return results
   
temporal-server
    timers
    TaskQueues
    database
    

temporal-server
四个服务 + 数据库

Frontend Matching History WorkerService

the History component is responsible for state transitions of individual workflows
we have Transfer Queues to be able to transactionally create tasks
a Matching component responsible for delivering tasks for queuing and matching poll for requests coming from external workers
a Front-end component because we need routing
an ElasticSearch component for indexing
a Worker component for background jobs.


Frontend gateway:   for rate limiting, routing, authorizing
History subsystem:  maintains data (mutable state, queues, and timers)
Matching subsystem: hosts Task Queues for dispatching
Worker service:     for internal background workflows





Frontend    
负责所有入站调用,包括由远程集群发起的多集群复制相关调用
grpcPort 7233   成员通讯端口6933 

History  管理工作流状态转换
7234  6934

Worker service
运行复制队列、系统工作流的后台处理
7239  6939

数据库支持 Cassandra MySQL PostgreSQL
存储任务、工作流数据、事件和可见性数据

上一篇     下一篇
Akka Quickstart 例子说明

grpc jar版本不匹配问题处理实例

temporal学习笔记

temporal 监控指标

使用arthas 观察 temporal worker grpc 方法调用

temporal local activity vs activity