考虑到Camunda8-SaaS是主打商业服务的,并且购买后也是基于Camunda8 WEB客户端在线使用的,所以在这里主要介绍Self-Managed版本。
Camunda Platform 8-Self-Managed逻辑架构
Camunda Platform 8 - Self-Managed从架构设计上具备较高的用户自定义性与灵活性,并且支持以多种方式部署。
Camunda 8 Self-Managed具有多个Web应用程序和gRPC服务,可以使用 Ingress从外部访问这些应用程序和 gRPC 服务。下图是具有两个 Ingress 对象的体系结构,一个是用于使用单个域的所有 Web 应用程序的 Http(S) 协议的 Ingress,另一个是用于 Zeebe 工作流引擎的 gRPC 协议的 Ingress:
在上图的架构下,Camunda 8 Self-Managed可以通过如下路径进行访问:
- Web applications: https://camunda.example.com/[identity|operate|optimize|tasklist|modeler]
- Keycloak authentication: https://camunda.example.com/auth
- Zeebe gateway: grpc://zeebe.camunda.example.com
Camunda Platform 8-Self-Managed部署架构
Camunda Platform 8 - Self-Managed的每个组件都支持独立部署或高可用部署,从而实现最小的服务中断。下图表示高可用性模式下的部署架构。
需要额外注意的是:
- 没有自定义配置(如 Service 和 ConfigMap)的 Kubernetes 资源不在图中。
- 默认情况下,部署至少需要三个Kubernetes节点才能满足 Pod 反亲和性约束。
- 对于启用了反亲和力的组件,如 Zeebe Broker,Kubernetes 节点应等于或大于 Pod 副本的数量。否则,它的某些 Pod 将不会被调度,并且将处于“待处理”状态。