This repository has been archived by the owner on Nov 27, 2018. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 50
/
Copy pathcmb.properties
290 lines (195 loc) · 7.48 KB
/
cmb.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
#
# CMB Configuration File
#
# cmb.properties is used to configure the CNS service, the CQS service and CNS worker nodes.
# When installing CMB for the first time, focus on adjusting the properties marked with
# "todo" below.
#
#
# global service URLs - pointing at load balancer; for single machine setups without load
# balancer the service URLs should point directly at the service endpoints (thus port numbers
# should be identical to the server port numbers specified below).
#
# todo: adjust service urls
cmb.cqs.service.url=http://localhost:6059/
cmb.cns.service.url=http://localhost:6061/
# optional custom unsubscribe URL, use %a as placeholder for subscription arn
#cmb.cns.unsubscribe.url=
#
# ports of local jetty / tomcat service endpoint
#
cmb.cqs.server.port=6059
cmb.cns.server.port=6061
#
# data center name - arbitrary name to distinguish service endpoints in different data centers
# (used by cqs long polling and displayed in dashboard screens)
#
# todo: adjust data center name
cmb.dc.name=default
cmb.deployment.name=default
#
# enable / disable services and publisher feature, all enabled by default for standalone operation
#
# todo: enable / disable service modules
cmb.cqs.serviceEnabled=true
cmb.cns.serviceEnabled=true
cmb.cns.publisherEnabled=true
cmb.cns.publisherMode=Producer,Consumer
# enable tracking of response time percentiles, disabled by default
cmb.stats.enable=true
# port for sending long poll notifications
cmb.cqs.longpoll.enable=true
cmb.cqs.longpoll.port=5555
# async request handler pool size
cmb.workerpool.size=256
#
# configure email relay here, if email protocol is desired for cns, otherwise set enabled to false
#
cmb.cns.smtp.enabled=false
cmb.cns.smtp.hostname=
cmb.cns.smtp.username=
cmb.cns.smtp.password=
cmb.cns.smtp.replyAddress=
#
# internal user account used by cns to access cqs, be sure to create this user with the web ui
#
cmb.cns.user.name=cns_internal
cmb.cns.user.password=cns_internal
# only configure cns user access key and secret if you want to avoid that cns workers have to access cassandra to look up authentication details
#cmb.cns.user.access.key=
#cmb.cns.user.access.secret=
#
# aws credentials if publishing to aws sqs endpoints is desired
#
aws.access.key=
aws.access.secret=
#
# maximum message payload length when logging service requests (this will keep logging of message bodies to
# a maximum of the first 128 characters)
#
cmb.log.maxMessagePayloadLogLength=128
# CMB request timeout second
cmb.request.timeoutSec=20
#
# cassandra and hector settings
#
# todo: place cassandra cluster name here (usually "cmb")
cmb.cassandra.clusterName=cmb
cmb.cassandra.clusterUrl=localhost:9160
cmb.cassandra.readConsistencyLevel=QUORUM
cmb.cassandra.writeConsistencyLevel=QUORUM
cmb.cassandra.thriftSocketTimeOutMS=10000
cmb.cassandra.dataCenter=
#cmb.cassandra.username=
#cmb.cassandra.password=
cmb.astyanax.maxConnectionsPerNode=10
cmb.astyanax.connectionWaitTimeOutMS=2000
cmb.hector.pool.size=75
cmb.hector.balancingPolicy=RoundRobinBalancingPolicy
#cmb.hector.balancingPolicy=LeastActiveBalancingPolicy
#cmb.hector.balancingPolicy=DynamicLoadBalancingPolicy
cmb.hector.autoDiscovery=true
cmb.hector.autoDiscoveryDelaySeconds=60
# only change cassandra keyspace names if you also changed them in schema.txt
cmb.common.keyspace=CMB
cmb.cqs.keyspace=CQS
cmb.cns.keyspace=CNS
#
# redis settings
#
cmb.redis.serverList=localhost:6379
cmb.redis.connectionsMaxTotal=100
cmb.redis.fillerThreads=16
cmb.redis.revisibleThreads=16
cmb.redis.expireTTLSec=1209600
cmb.redis.revisibleFrequencySec=10
#
# cns worker (publisher) settings
#
# name prefix for internal cqs queues used by cns
cmb.cns.publish.queueNamePrefix=PublishJobQ_
cmb.cns.publish.endpointQueueNamePrefix=EndpointPublishQ_
# http thread pool size
cmb.cns.publisher.http.connectionPoolSize=100
cmb.cns.publisher.http.connectionsPerRouteSize=10
# http timeout after which a message posted to a slow endpoint will be shifted from the delivery to the redlivery queue
cmb.cns.publisher.http.httpTimeoutSeconds=5
# http status codes that will be considered as successful delivery of a message (e.g. 404,403)
cmb.cns.publisher.http.acceptableStatusCodes=
# use synchronous (sync) or asynchronous (async) I/O mode for posting to http endpoints (default is synchronous posting)
cmb.cns.publisher.http.iomode=sync
# thread pool settings for producer and consumer threads
cmb.cns.publisher.numProducers=8
cmb.cns.publisher.numConsumers=4
# number of internal queues used by producers and consumers
cmb.cns.publisher.numPublishJobQs=2
cmb.cns.publisher.numEPPublishJobQs=4
# thread pool sizes for message delivery and re-delivery
cmb.cns.publisher.numDeliveryHandlers=128
cmb.cns.publisher.numReDeliveryHandlers=128
# queue limits for in-memory queues (not cassandra queues) for delivery and re-delivery threads
# queues should not contain more than one second's worth of messages
cmb.cns.publisher.deliveryHandlerJobQueueLimit=1000
cmb.cns.publisher.reDeliveryHandlerJobQueueLimit=5000
cmb.cns.publisher.EPPublishJobVTO=10
cmb.cns.publisher.publishJobVTO=10
# chunk size for cns fan out, each delivery threads will work on delivering a single publish message to at most this number of endpoints
cmb.cns.publisher.maxSubscriptionsPerEPPublishJob=100
cmb.cns.publisher.producerProcessingMaxDelay=1000
cmb.cns.publisher.consumerProcessingMaxDelay=1000
cmb.cns.publisher.publishJobQueueSizeLimit=100000
cmb.cns.publisher.pingDelayMS=60000
cmb.cns.publisher.workStealerDelayMS=60000
# number of failures per minute which will cause a 1 minute suspension of the subscription associated with a particular endpoint, set threshold to 0 to disable this feature
cmb.cns.publisher.endpointFailureCountToSuspensionThreshold=10
# drop message if time between call to publish api and worker seeing the message exceeds messageExpirationSeconds, set to 0 (default) to disable this feature
cmb.cns.publisher.messageExpirationSeconds=0
#
# generic cmb settings
#
# to enable signature verification on every request change this setting to true
# Get request does not need signature. If allowGetRequest = false, no Get Request is allowed.
cmb.enableSignatureAuth=false
cmb.allowGetRequest=true
cmb.region=csv
cmb.rollingWindowSizeSec=600
#
# cns settings
#
# to disable mandatory confirmations for every cross-user cns topic subscription
cmb.cns.requireSubscriptionConfirmation=true
cmb.cns.useSubInfoCache=false
cmb.cns.maxMsgSize=262144
# speedup fan-out for topics with few subscribers by only going through one internal queue
cmb.cns.bypassPublishJobQueueForSmallTopics=true
# optional setting if you wish to have http posts for cns confirmation messages go through an http proxy, disabled by default
#cmb.cns.http.proxy=127.0.0.1:9090
#
# cqs settings
#
# number of cassandra partitions (rows) used per cqs queue
cmb.cqs.numberOfQueuePartitions=100
# default message visibility in seconds
cmb.cqs.visibilityTO=30
cmb.cqs.maxMsgCountBatch=10
cmb.cqs.maxMsgSize=262144
cmb.cqs.maxMsgSizeBatch=262144
cmb.cqs.msgRetentionPeriod=345600
cmb.cqs.minMsgRetentionPeriod=60
cmb.cqs.maxMsgRetentionPeriod=1209600
cmb.cqs.delaySeconds=0
cmb.cqs.maxQueueNameLength=80
cmb.cqs.maxMessageSuppliedIdLength=80
cmb.cqs.maxBatchEntries=10
cmb.cqs.maxReceiveMessageCount=10
cmb.cqs.maxVisibilityTO=43200
cmb.cqs.maxDelaySeconds=900
#
# cns / cqs internal cache settings
#
cmb.user.cacheExpiringInSeconds=60
cmb.user.cacheSizeLimit=1000000
cmb.cqs.cacheExpiringInSeconds=60
cmb.cqs.cacheSizeLimit=1000000
cmb.cns.cacheExpiringInSeconds=60
cmb.cns.cacheSizeLimit=1000000