Redis Dedup Verticle
You are here: Home:Verticles:Redis Dedup Service
See also:
- Authentication Verticles
- Subscription to platform events Verticles
- Send result to console Verticle
- Send result to websocket Verticle
- Main/Setup Verticle
- Deduplication Verticles
- Redis Dedup Service
- Rest Consumer (post/forward to rest endpoint)
Setup
The Redis deduplication service relies on the availability of a Redis key value store. To use it, you need to add the dependency to your pom.xml
:
<dependency>
<groupId>net.wissel.salesforce</groupId>
<artifactId>vertx-sfdc-redis</artifactId>
<version>0.3.1</version>
</dependency>
Note: checkMaven Central for the latest version of the plugin
Configuration
All parameters for the service are configured in sfdcOptions.json. A sample looks like this:
"dedupConfigurations": [
{
"instanceName": "redisDedup",
"verticleName": "net.wissel.salesforce.vertx.dedup.RedisDedup",
"serverURL": "some.address.local",
"port": 6379,
"sfdcPassword": "pwd"
}
]
Note: You dont’ want to specify password in the JSON file and rather have them pulled from the environment. In this example the Verticle would try to read redisDedup_sfdcPassword
from the environment.
Note 2: Make sure you have secured your Redis instance properly!!
Operation
It will cache events for 24h, wich is also the maximum retention time for Salesforce platform events. This ensures, event with an extended operational break, no event is processed twice.
The deduplication service will listen to BUS_DEDUP_PREFIX+instanceName
in our case that would be: SFDC:Dedup:redisDedup
Source code
Check RedisDedup.java on github