Communication between multiple instances of temporal server

Temporal server consists of following 4 roles and the ports needed for those roles for communication.

  1. Frontend: This role is responsible for all in-bound API calls, including cross-dc related API which is invoked by remote cluster. It uses the grpcPort 7233 to host service handler and uses port 6933 for membership related communication with other hosts.
  2. History: Internal Temporal role to manage workflow state transitions. It uses grpcPort 7234 to host service handler and uses port 6934 for membership related communication.
  3. Matching: Internal Temporal role responsible for hosting TaskQueues for task dispatch. It uses grpcPort 7235 to host service handler and uses port 6935 for membership related communication.
  4. Worker: Internal Temporal role which runs background processing for replication queue, kafka visibility processor, and system workflows. It uses grpcPort 7239 to host service handler and uses port 6939 for membership related communication.

Looks like the following 4 ports in our Dockerfile are unnecessary and probably leftover from Cadence:

7933
7934
7935
7939
4 Likes