Skip to content

Commit

Permalink
Add cross region sample config and minor fix docker template (cadence…
Browse files Browse the repository at this point in the history
  • Loading branch information
longquanzheng authored Oct 19, 2021
1 parent 49aa635 commit 0e4b8d3
Show file tree
Hide file tree
Showing 5 changed files with 391 additions and 5 deletions.
127 changes: 127 additions & 0 deletions config/development_cross_region_cluster0.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,127 @@
persistence:
defaultStore: cass-default
visibilityStore: cass-visibility
numHistoryShards: 4
datastores:
cass-default:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_cluster0"
cass-visibility:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_visibility_cluster0"

ringpop:
name: cadence_cluster0
bootstrapMode: hosts
bootstrapHosts: [ "127.0.0.1:7933", "127.0.0.1:7934", "127.0.0.1:7935", "127.0.0.1:7940" ]
maxJoinDuration: 30s

services:
frontend:
rpc:
port: 7933
grpcPort: 7833
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster0"
pprof:
port: 7936

matching:
rpc:
port: 7935
grpcPort: 7835
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster0"
pprof:
port: 7938

history:
rpc:
port: 7934
grpcPort: 7834
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster0"
pprof:
port: 7937

worker:
rpc:
port: 7940
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster0"
pprof:
port: 7941

clusterGroupMetadata:
enableGlobalDomain: true
failoverVersionIncrement: 10
primaryClusterName: "cluster0"
currentClusterName: "cluster0"
clusterRedirectionPolicy:
policy: "selected-apis-forwarding" # In cross region setup, network communication overhead between clusters is high so should use "selected-apis-forwarding". workflow/activity workers need to be connected to each cluster to keep high availability
clusterGroup:
cluster0:
enabled: true
initialFailoverVersion: 1
rpcName: "cadence-frontend"
rpcAddress: "localhost:7833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster1:
enabled: true
initialFailoverVersion: 0
rpcName: "cadence-frontend"
rpcAddress: "localhost:8833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster2:
enabled: true
initialFailoverVersion: 2
rpcName: "cadence-frontend"
rpcAddress: "localhost:9833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"



archival:
history:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"
visibility:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"

domainDefaults:
archival:
history:
status: "enabled"
URI: "file:///tmp/cadence_archival/development"
visibility:
status: "enabled"
URI: "file:///tmp/cadence_vis_archival/development"

blobstore:
filestore:
outputDirectory: "/tmp/blobstore"
125 changes: 125 additions & 0 deletions config/development_cross_region_cluster1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
persistence:
defaultStore: cass-default
visibilityStore: cass-visibility
numHistoryShards: 4
datastores:
cass-default:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_cluster1"
cass-visibility:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_visibility_cluster1"

ringpop:
name: cadence_cluster1
bootstrapMode: hosts
bootstrapHosts: [ "127.0.0.1:8933", "127.0.0.1:8934", "127.0.0.1:8935", "127.0.0.1:8940" ]
maxJoinDuration: 30s

services:
frontend:
rpc:
port: 8933
grpcPort: 8833
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster1"
pprof:
port: 8936

matching:
rpc:
port: 8935
grpcPort: 8835
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster1"
pprof:
port: 8938

history:
rpc:
port: 8934
grpcPort: 8834
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster1"
pprof:
port: 8937

worker:
rpc:
port: 8940
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster1"
pprof:
port: 8941

clusterGroupMetadata:
enableGlobalDomain: true
failoverVersionIncrement: 10
primaryClusterName: "cluster0"
currentClusterName: "cluster1"
clusterRedirectionPolicy:
policy: "selected-apis-forwarding" # In cross region setup, network communication overhead between clusters is high so should use "selected-apis-forwarding". workflow/activity workers need to be connected to each cluster to keep high availability
clusterGroup:
cluster0:
enabled: true
initialFailoverVersion: 1
rpcName: "cadence-frontend"
rpcAddress: "localhost:7833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster1:
enabled: true
initialFailoverVersion: 0
rpcName: "cadence-frontend"
rpcAddress: "localhost:8833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster2:
enabled: true
initialFailoverVersion: 2
rpcName: "cadence-frontend"
rpcAddress: "localhost:9833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"

archival:
history:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"
visibility:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"

domainDefaults:
archival:
history:
status: "enabled"
URI: "file:///tmp/cadence_archival/development"
visibility:
status: "enabled"
URI: "file:///tmp/cadence_vis_archival/development"

blobstore:
filestore:
outputDirectory: "/tmp/blobstore"
125 changes: 125 additions & 0 deletions config/development_cross_region_cluster2.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
persistence:
defaultStore: cass-default
visibilityStore: cass-visibility
numHistoryShards: 4
datastores:
cass-default:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_cluster2"
cass-visibility:
nosql:
pluginName: "cassandra"
hosts: "127.0.0.1"
keyspace: "cadence_visibility_cluster2"

ringpop:
name: cadence_cluster2
bootstrapMode: hosts
bootstrapHosts: [ "127.0.0.1:9933", "127.0.0.1:9934", "127.0.0.1:9935", "127.0.0.1:9940" ]
maxJoinDuration: 30s

services:
frontend:
rpc:
port: 9933
grpcPort: 9833
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster2"
pprof:
port: 9936

matching:
rpc:
port: 9935
grpcPort: 9835
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster2"
pprof:
port: 9938

history:
rpc:
port: 9934
grpcPort: 9834
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster2"
pprof:
port: 9937

worker:
rpc:
port: 9940
bindOnLocalHost: true
metrics:
statsd:
hostPort: "127.0.0.1:8125"
prefix: "cadence_cluster2"
pprof:
port: 9941

clusterGroupMetadata:
enableGlobalDomain: true
failoverVersionIncrement: 10
primaryClusterName: "cluster0"
currentClusterName: "cluster2"
clusterRedirectionPolicy:
policy: "selected-apis-forwarding" # In cross region setup, network communication overhead between clusters is high so should use "selected-apis-forwarding". workflow/activity workers need to be connected to each cluster to keep high availability
clusterGroup:
cluster0:
enabled: true
initialFailoverVersion: 1
rpcName: "cadence-frontend"
rpcAddress: "localhost:7833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster1:
enabled: true
initialFailoverVersion: 0
rpcName: "cadence-frontend"
rpcAddress: "localhost:8833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"
cluster2:
enabled: true
initialFailoverVersion: 2
rpcName: "cadence-frontend"
rpcAddress: "localhost:9833" # this is to let worker service and XDC replicator connected to the frontend service. In cluster setup, localhost will not work
rpcTransport: "grpc"

archival:
history:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"
visibility:
status: "enabled"
enableRead: true
provider:
filestore:
fileMode: "0666"
dirMode: "0766"

domainDefaults:
archival:
history:
status: "enabled"
URI: "file:///tmp/cadence_archival/development"
visibility:
status: "enabled"
URI: "file:///tmp/cadence_vis_archival/development"

blobstore:
filestore:
outputDirectory: "/tmp/blobstore"
Loading

0 comments on commit 0e4b8d3

Please sign in to comment.