Skip to content

Commit 14948a6

Browse files
Merge pull request #10 from redis-field-engineering/readme-edits
Readme edits
2 parents 145bf85 + 339ab3a commit 14948a6

File tree

1 file changed

+50
-65
lines changed

1 file changed

+50
-65
lines changed

README.md

Lines changed: 50 additions & 65 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ changed-data events from heterogeneous data platforms to [Redis Stack](https://r
55
<br><br> :white_check_mark: No Code :white_check_mark: Seamless Integration :white_check_mark: Multi-Tenancy :white_check_mark: Linear-Scalability :white_check_mark: High-Availability :white_check_mark: Support
66
<br><br>
77

8-
## End-to-End Dockerized Demos
8+
## End-to-End demos
99

1010
<table>
1111
<tr>
@@ -35,9 +35,10 @@ changed-data events from heterogeneous data platforms to [Redis Stack](https://r
3535
</tr>
3636
</table>
3737

38-
# Table of Contents
38+
## Table of Contents
39+
3940
* [Background](#background)
40-
* [Quick Start](#quick-start)
41+
* [Quick start](#quick-start)
4142
* [Requirements](#requirements)
4243

4344
## Background
@@ -50,56 +51,66 @@ changed-data events from heterogeneous data platforms to [Redis Stack](https://r
5051
<tr><td height="20" colspan="2">&nbsp;</td></tr>
5152
<tr>
5253
<td width="50%"><img src="/images/capabilities/Redis Insight.png" style="float: right;" width="500" height="200"/></td>
53-
<td> <b>Multi-Tenancy | Partitioning | Linear Scalability</b> <br> Redis Connect can manage multi-tenant (jobs) data replication pipelines end-to-end within a single cluster node. Jobs with different source types can be collocated without becoming noisy neighbors. Streaming and Initial Load jobs can be partitioned for linear scalability across a single or multiple cluster nodes.</td>
54+
<td> <b>Multi-Tenancy | Partitioning | Linear Scalability</b> <br> Redis Connect manages multi-tenant replication pipelines. A pipeline from source to sink is known as a job. Jobs with different source types can be collocated without becoming noisy neighbors. Jobs can be partitioned for linear scalability across one or more cluster nodes.</td>
5455
</tr>
5556
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
5657
<tr>
57-
<td> <b>High-Availability | Recovery</b> <br> Redis Connect jobs update their checkpoint upon each committed changed-data event within a transactional scope. In the occurrence of node failure, or network split, a job would failover to another node and seamlessly begin replication from the last committed checkpoint. Data would not be lost, and order would be maintained. Redis Connect is supported on Kubernetes environments including OpenShift.</td>
58+
<td> <b>High-Availability | Recovery</b> <br> Redis Connect jobs update their checkpoint upon each committed changed-data event within a transactional scope. In the event of a node failure or network split, in-flight jobs will fail over to another node and seamlessly begin replication from the last committed checkpoint. Data is not lost, and order is preserved. Redis Connect works in container orchestration environments such as Kubernetes and OpenShift.</td>
5859
<td width="50%"><img src="/images/capabilities/Redis Connect Cluster.png" style="float: right;" width="500" height="200"/></td>
5960
</tr>
6061
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
6162
<tr>
6263
<td width="50%"><img src="/images/capabilities/Redis Connect Custom Transformer.jpg" style="float: none;" width="500" height="150"/></td>
63-
<td> <b>Custom Transformations</b> <br> Redis Connect Jobs support user-defined business logic simply by adding a JAR to the /extlib directory. Users can create custom workflows that include user-defined stages for proprietary business rules, custom transformations, de-tokenization, and more. Users can also extend the supported list of Target Sinks.</td>
64+
<td> <b>Custom Transformations</b> <br> Redis Connect jobs support user-defined business logic. You can create custom workflows that include user-defined stages for proprietary business rules, custom transformations, de-tokenization, and more. You can also extend the supported list of target sinks.</td>
6465
</tr>
6566
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
6667
<tr>
67-
<td> <b>REST API | CLI | Swagger UI</b> <br> Redis Connect is entirely data-driven and relies on Redis Enterprise as its metadata store. Users can configure, start, stop, migrate, and restart jobs via its built-in REST API and/or interactive CLI. Redis Connect also exposes a Swagger UI to simplify endpoint discovery and operational experience.</td>
68+
<td> <b>REST API | CLI | Swagger UI</b> <br> Redis Connect is entirely data-driven and relies on Redis Enterprise as its metadata store. You can configure, start, stop, migrate, and restart jobs using the built-in REST API and interactive CLI. Redis Connect also exposes a Swagger UI to simplify endpoint discovery and operational experience.</td>
6869
<td width="50%"><img src="/images/capabilities/Redis Connect Swagger UI.png" style="float: right;" width="500" height="200"/></td>
6970
</tr>
7071
<tr><td bgcolor="#FFFFFF" colspan="2">&nbsp;</td></tr>
7172
<tr>
7273
<td width="50%"><img src="/images/capabilities/Redis Enterprise ACL.png" style="float: right;" width="500" height="200"/></td>
73-
<td> <b>Enterprise-Grade Security</b> <br> Redis Connect jobs are stateless so changed-data events are always in-transit. Redis Connect benefits from Redis Enterprise’s enterprise-grade security capabilities including RBAC, TLS, and more. Credentials, secrets, and trust-store passwords are never stored within Redis Connect however can be dynamically rotated with minimal disruption to the replication pipeline. Vault integration is supported.</td>
74+
<td> <b>Enterprise-Grade Security</b> <br> Redis Connect jobs are stateless, so changed-data events are always in-transit. Redis Connect benefits from Redis Enterprise’s security, including RBAC, TLS, and more. Credentials, secrets, and trust-store passwords are never stored in Redis Connect; these secrets can be dynamically rotated with minimal disruption to the replication pipeline. Vault integration is supported.</td>
7475
</tr>
7576
</table>
7677

78+
## Requirements
79+
80+
### Minimum production hardware requirements
81+
82+
* 1 GB of RAM
83+
* 4 CPU cores
84+
* 20 GB of disk space
85+
* 1 Gbps network
86+
87+
### Runtime requirements
88+
89+
* JRE 11+ e.g. [Azul OpenJDK](https://www.azul.com/downloads/?package=jdk#download-openjdk)
90+
7791
## Quick Start
7892

93+
You can run Redis Connect as a container or by downloading the code and running in your environment of choice.
94+
95+
### Docker
96+
97+
You can run and deploy Redis Connect using the [Redis Connect Docker image](https://hub.docker.com/r/redislabs/redis-connect).
98+
7999
### Download
80100

81-
Download [latest release](https://github.com/redis-field-engineering/redis-connect-dist/releases) for `Linux` or `Windows` and unarchive redis-connect-`<version>.<build>`.[tar.gz|zip] archive<br>
82-
Docker image can be found at [DockerHub](https://hub.docker.com/r/redislabs/redis-connect)
101+
Download the [latest release](https://github.com/redis-field-engineering/redis-connect-dist/releases) for `Linux` or `Windows` and unarchive `redis-connect-<version>.<build>.[tar.gz|zip]` archive<br>
83102

84-
Linux:
85-
```bash
86-
tar vxf <tarfile name>
87-
```
88-
Windows:
89-
```cmd
90-
unzip <zipfile name>
91-
```
103+
The following subdirectories will be extracted under `/redis-connect`:
104+
* `bin` – Startup scripts
105+
* `lib` – Dependencies
106+
* `config` – Credentials property files, jobmanager.properties, and job-config (JSON) examples
107+
* `extlib` – Custom/external dependencies (e.g., [custom stages](https://github.com/redis-field-engineering/redis-connect-custom-stage-demo), source-database drivers, etc.)
92108

93-
The following subdirectories will be extracted under /redis-connect -
94-
<br>bin – Startup scripts
95-
<br>lib – Dependencies
96-
<br>config – Credentials property files, jobmanager.properties, and job-config (JSON) examples
97-
<br>extlib – Custom/External dependencies e.g. [custom stage](https://github.com/redis-field-engineering/redis-connect-custom-stage-demo), source-database drivers, etc.
109+
### Launch Redis Connect
98110

99-
### Getting Started
111+
Redis Connect includes scripts for launching a single instance. You can run the scripts as follows:
100112

101-
**Review options by running Redis Connect startup script** <br>
102-
Linux:
113+
#### On Linux
103114
```bash
104115
redis-connect/bin$ ./redisconnect.sh
105116
-------------------------------
@@ -117,16 +128,18 @@ cli: init Redis Connect CLI
117128
start: init Redis Connect Instance (Cluster Member)
118129
-------------------------------
119130
```
120-
Windows:
131+
132+
#### On Windows
121133
```cmd
122134
redis-connect\bin> redisconnect.bat
123135
```
124136

125137
| Prerequisite Configuration :exclamation: |
126138
|:----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
127-
| Update `credentials.file.path` and `redis.connection.url` within `/config/jobmanager.properties`<br/> Example - <a href="/examples/postgres/demo/config/jobmanager.properties">jobmanager.properties</a> |
139+
| Update `credentials.file.path` and `redis.connection.url` in `/config/jobmanager.properties`<br/> Example - <a href="/examples/postgres/demo/config/jobmanager.properties">jobmanager.properties</a> |
140+
141+
### Starting an instance
128142

129-
**Start Redis Connect Instance**<br>
130143
Linux:
131144
```bash
132145
redis-connect/bin$ ./redisconnect.sh start
@@ -137,7 +150,10 @@ redis-connect\bin> redisconnect.bat start
137150
```
138151
<img src="/images/quick-start/Redis Connect Start Log.png" style="float: right;" width = 700px height = 250px/>
139152

140-
**Open browser to access Swagger UI -** [http://localhost:8282/swagger-ui/index.html]()
153+
### Swagger UI
154+
155+
The Redis Connect Swagger UI is available on port 8282 by default. If you're running locally, you can point your browser to [http://localhost:8282/swagger-ui/index.html]()
156+
141157
<br>_For quick start, use '**cdc_job**' as **jobName**_
142158
<br><br><img src="/images/quick-start/Redis Connect Swagger Front Page.jpg" style="float: right;" width = 700px height = 425px/>
143159

@@ -147,7 +163,7 @@ redis-connect\bin> redisconnect.bat start
147163

148164
| Prerequisite Configuration :exclamation: |
149165
|:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
150-
| Update `credentialsFilePath`, `databaseURL`, `database.dbname`, `database.hostname`, `database.port`, `schemaAndTableName`, and `columns` within sample job configuration for source and target, where applicable |
166+
| Update `credentialsFilePath`, `databaseURL`, `database.dbname`, `database.hostname`, `database.port`, `schemaAndTableName`, and `columns` within sample job configuration for source and target, where applicable. |
151167

152168
**Start Job -** `/connect/api/vi/job/transition/start/{jobName}/{jobType}`
153169
<br>_For quick start, use '**stream**' as **jobType**_
@@ -157,39 +173,8 @@ redis-connect\bin> redisconnect.bat start
157173
<br>_For quick start, use '**all**' as **jobStatus**_
158174
<br><br><img src="/images/quick-start/Redis Connect Get Claims.png" style="float: right;" width = 700px height = 250px/>
159175

160-
**Insert some records to the source and confirm they have arrived in Redis. Enjoy!**
161-
162-
## Requirements
163-
164-
### Minimum Production Hardware Requirements
176+
Once you've configured a job, try inserting some records into the source database. Then confirm that they have arrived in Redis.
165177

166-
* 1GB of RAM
167-
* 4 CPU cores
168-
* 20GB of disk space
169-
* 1G Network
170-
171-
### Runtime Requirements
172-
173-
* JRE 11+ e.g. [Azul OpenJDK](https://www.azul.com/downloads/?package=jdk#download-openjdk)
174-
175-
## Quick Start
176-
177-
### Download
178-
179-
Download [latest release](https://github.com/redis-field-engineering/redis-connect-dist/releases) for `Linux` or `Windows` and unarchive redis-connect-`<version>.<build>`.[tar.gz|zip] archive<br>
180-
Docker image can be found at [DockerHub](https://hub.docker.com/r/redislabs/redis-connect)
181-
182-
Linux:
183-
```bash
184-
tar vxf <tarfile name>
185-
```
186-
Windows:
187-
```cmd
188-
unzip <zipfile name>
189-
```
178+
## Copyright
190179

191-
The following subdirectories will be extracted under /redis-connect -
192-
<br>bin – Startup scripts
193-
<br>lib – Dependencies
194-
<br>config – Credentials property files, jobmanager.properties, and job-config (JSON) examples
195-
<br>extlib – Custom/External dependencies e.g. [custom stage](https://github.com/redis-field-engineering/redis-connect-custom-stage-demo), source-database drivers, etc.
180+
Redis Connect is developed by Redis, Inc. Copyright (C) 2023 Redis, Inc.

0 commit comments

Comments
 (0)