Skip to content

Commit fb7ba95

Browse files
biniona-mongodbterakilobyteChris Chokyuan-mongodbrustagir
authored andcommitted
Docsp 15784 kafka connect introduction (#111)
Co-authored-by: Nathan <[email protected]> Co-authored-by: Chris Cho <[email protected]> Co-authored-by: Kailie Yuan <[email protected]> Co-authored-by: Rea Rustagi <[email protected]> Co-authored-by: Robert Walters <[email protected]>
1 parent 8963143 commit fb7ba95

File tree

6 files changed

+90
-3
lines changed

6 files changed

+90
-3
lines changed
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
<mxfile host="app.diagrams.net" modified="2021-07-19T02:23:48.741Z" agent="5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.114 Safari/537.36" version="14.8.6" etag="Fl_y1J6sKEKLlZwr8ESv" type="device"><diagram id="NlAw9Xcqx87uc-Amdjaq" name="Page-1">7Vhdc6IwFP01Pm6HD0F8rB/bzmz75Oxu61uECLGBS2MsuL9+LxLAFLV2xhnZnT7JPbkJybnnJMGePY7zO0HS6BECynuWEeQ9e9KzLNMaevhTINsS8Vy3BELBApXUADP2hyrQUOiGBXStJUoALlmqgz4kCfWlhhEhINPTlsD1t6YkpC1g5hPeRn+zQEZqFY7R4PeUhVH1ZtNQLTGpkhWwjkgA2R5kT3v2WADI8inOx5QX5FW8lP2+H2mtJyZoIs/pQF4X99mvt9Vw/vNOzrPJfLB6/Wb2y2HeCN+oFavZym1FgYBNEtBiFKNnj7KISTpLiV+0Zlh0xCIZc4xMfFTDUSFpfnSiZr181A2FmEqxxRTVwfIUY0oyNYNZUwB7oLBon3zPUYVXRQ/rsRte8EFR8wmavBYpNECZqBCEjCCEhPBpg4502pqcB4BUkbWiUm6V5slGgk4lzZl82nt+Loa6cVQ0ydXIu2BbBQku92k/2OtVhE23XVT1K9dXLOp00ZAD2AifnuBKCUgSEVJ5Is8+LAJBOZHsTZ/HxQtqtWT/jOtC5DZNOfNxBpC0av6B9Mk6LXegJcuLul/CC65uBdtoW8E74IQKuzhvwy8jnG0E+0wj9K9pBPvA/u+SuJA2x0mPHiEJYYK0GByrVreFcseVu8tZoHHcI0jd//peMr2Omam643TfTRd0Rf9MVzjXdEX7VvSDLF8IQmN1z+yAnmv9dkbPZouWjuq5A6eDc6YP3Gv6wDnmg+urv285HVN/+8vpS/0nVX2G+gfXVL/7L5wCjtOxU2DwwY0yLm6EweJ/uFG6nbtRtjdsnfxb5CfChErIDwdK8I5XpEfqVK6lgBc6Bg4CkQSSYidbMs7fQYSzMMHQRzop4qOCbPy45reqIWZBsNsGD9VO3xovcV8aWjf6mWE57XqZfaddMOvzBcOw+W9v17b3D6k9/Qs=</diagram></mxfile>
17.2 KB
Loading
26.1 KB
Loading

source/introduction/kafka-connect.txt

Lines changed: 87 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,90 @@
22
Kafka and Kafka Connect
33
=======================
44

5-
asdf
5+
.. default-domain:: mongodb
6+
7+
.. contents:: On this page
8+
:local:
9+
:backlinks: none
10+
:depth: 1
11+
:class: singlecol
12+
13+
Overview
14+
~~~~~~~~
15+
16+
In this guide, you can learn the following foundational information about Apache
17+
Kafka and Kafka Connect:
18+
19+
- What Apache Kafka and Kafka Connect are
20+
- What problems Apache Kafka and Kafka Connect solve
21+
- Why Apache Kafka and Kafka Connect are useful
22+
- How data moves through an Apache Kafka and Kafka Connect pipeline
23+
24+
Apache Kafka
25+
~~~~~~~~~~~~
26+
27+
Apache Kafka is an open source publish/subscribe messaging system. Apache Kafka
28+
provides a flexible, **fault tolerant**, and **horizontally scalable** system to
29+
move data throughout datastores and applications. A system is fault tolerant
30+
if the system can continue operating even if certain components of the
31+
system stop working. A system is horizontally scalable if the system can be
32+
expanded to handle larger workloads by adding more machines rather than by
33+
improving a machine's hardware.
34+
35+
For more information on Apache Kafka, see the following resources:
36+
37+
- `Confluent "What is Apache Kafka?" Page <https://www.confluent.io/what-is-apache-kafka/>`__
38+
- `Apache Kafka Official Documentation <https://kafka.apache.org/documentation/>`__
39+
40+
Kafka Connect
41+
~~~~~~~~~~~~~
42+
43+
Kafka Connect is a component of Apache Kafka that solves the problem of
44+
connecting Apache Kafka to datastores such as MongoDB. Kafka Connect solves this
45+
problem by providing the following resources:
46+
47+
- A fault tolerant runtime for transferring data to and from datastores.
48+
- A framework for the Apache Kafka community to share solutions for
49+
connecting Apache Kafka to different datastores.
50+
51+
The Kafka Connect framework defines an API for developers to write reusable
52+
**connectors**. Connectors enable Kafka Connect deployments
53+
to interact with a specific datastore as a data source or a data sink. The
54+
MongoDB Kafka Connector is one of these connectors.
55+
56+
For more information on Kafka Connect, see the following resources:
57+
58+
- `Confluent Kafka Connect Page <https://docs.confluent.io/platform/current/connect/index.html>`__
59+
- `Apache Kafka Official Documentation, Kafka Connect Guide <https://kafka.apache.org/documentation/#connect>`__
60+
- `Apache Foundation Video Walk-Through of the Kafka Connect Framework <https://www.youtube.com/watch?v=EXviLqXFoQI>`__
61+
62+
.. tip:: Use Kafka Connect instead of Producer/Consumer Clients when Connecting to Datastores
63+
64+
While you could write your own application to connect Apache Kafka to a
65+
specific datastore using producer and consumer clients, Kafka Connect may be
66+
a better fit for you. Here are some reasons to use Kafka Connect:
67+
68+
- Kafka Connect has a fault tolerant distributed architecture to ensure a
69+
reliable pipeline.
70+
- There are a large number of community maintained connectors for connecting
71+
Apache Kafka to popular datastores like MongoDB, PostgreSQL, and MySQL using the
72+
Kafka Connect framework. This reduces the amount of boilerplate code you need to
73+
write and maintain to manage database connections, error handling,
74+
dead-letter queue integration, and other problems involved in connecting Apache Kafka
75+
with a datastore.
76+
- You have the option to use a managed Kafka Connect cluster from Confluent.
77+
78+
Diagram
79+
~~~~~~~
80+
81+
The following diagram shows how information flows through an example data pipeline
82+
built with Apache Kafka and Kafka Connect. The example pipeline uses a MongoDB
83+
cluster as a data source, and a MongoDB cluster as a data sink.
84+
85+
<TODO: Update the image to version that has gone through design department>
86+
87+
.. figure:: /includes/figures/connect-data-flow.png
88+
:alt: Dataflow diagram of Kafka Connect deployment.
89+
90+
All connectors and datastores in the example pipeline are optional, and you can
91+
swap them out for whatever connectors and datastores you need for your deployment.

source/kafka-connection-mongodb.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ connection URI in the ``connection.uri`` setting. Refer to the configuration
8181
guides for more detail:
8282

8383
- :doc:`Sink Configuration Properties </kafka-sink-properties>`
84-
- :ref:`Source Connector Configuration Properties <source-connector-configuration-properties>`
84+
- (TODO Fix Broken Link) Source Connector Configuration Properties <source-connector-configuration-properties>
8585

8686
For more information on how to build your connection URI, navigate
8787
to the :guilabel:`Authentication` section in the

source/kafka-sink-cdc.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ a Kafka topic, update your configuration to include the following:
3737

3838
The ``ChangeStreamHandler`` class instructs the sink connector to process
3939
change events that are in the :manual:`change stream response document format </reference/change-events/#change-stream-output>`.
40-
You can use a :doc:`MongoDB Kafka source connector </kafka-source>` to
40+
You can use a (TODO: FIX LINK) (MongoDB Kafka source connector </kafka-source>) to
4141
configure the change stream data that you want to publish to specific topics.
4242

4343
Remember to specify the topic and the destination in the following

0 commit comments

Comments
 (0)