You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/federation/event-driven-federated-subscriptions.mdx
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -7,6 +7,6 @@ icon: circle-info
7
7
8
8
Defining an Event-Driven Graph with Event-Driven Federated Subscriptions.
9
9
10
-
An Event-Driven Graph (EDG) is best thought to be an abstract subgraph that facilitates Event-Driven Federated Subscriptions (EDFS). If a subgraph uses or defines any event driven directives, it will be interpreted to be an Event-Driven Graph.
10
+
An Event-Driven Graph (EDG) is best thought to be an abstract subgraph that facilitates [Cosmo Streams](/router/cosmo-streams). If a subgraph uses or defines any event driven directives, it will be interpreted to be an Event-Driven Graph.
Copy file name to clipboardExpand all lines: docs/router/configuration.mdx
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -611,7 +611,7 @@ This option may change or be removed in future versions as the OpenTelemetry SDK
611
611
| METRICS_OTLP_EXCLUDE_METRIC_LABELS | exclude_metric_labels | <Icon icon="square" /> | The metric labels to exclude from the OTEL metrics. Accepts a list of Go regular expressions. Use https://regex101.com/ to test your regular expressions. | [] |
description: "EDFS combines the power of GraphQL Federation and Event-Driven Architecture (Kafka, NATS, Redis) to update a user GraphQL Subscription after an event occurs in your system."
2
+
title: "Cosmo Streams (EDFS)"
3
+
description: "Cosmo Streams (formally known as EDFS) combines the power of GraphQL Federation and Event-Driven Architecture to update a user GraphQL Subscription after an event occurs in your system."
4
4
icon: "circle-info"
5
5
sidebarTitle: "Overview"
6
6
---
@@ -9,7 +9,7 @@ sidebarTitle: "Overview"
9
9

10
10
</Frame>
11
11
12
-
Event Driven Federated Subscriptions (EDFS) solves 3 major problems when it comes to GraphQL Federation and Subscriptions by directly connecting the Router to an event source like Kafka and NATS and making it a part of the Graph.
12
+
Cosmo Streams solves 3 major problems when it comes to GraphQL Federation and Subscriptions by directly connecting the Router to an event source like Kafka and NATS and making it a part of the Graph.
13
13
14
14
## Intro
15
15
@@ -38,18 +38,18 @@ Furthermore, classic Subscriptions with Federation are quite expensive when it c
38
38
39
39
## Specification
40
40
41
-
Enter Event-Driven Federated Subscriptions, a simple way to scale Federated Subscriptions in a resource-efficient manner.
41
+
Enter Cosmo Streams, a simple way to scale Federated Subscriptions in a resource-efficient manner.
@@ -58,7 +58,7 @@ Each provider consists of at least Publish and Subscribe capabilities. For NATS,
58
58
59
59
Our goal is to integrate with various technologies rather than agree on a single unified interface. This approach allows us to leverage the strengths of each technology. This philosophy is reflected in how we structure the directives, naming parameters, exposing features as they would appear in their respective ecosystems.
60
60
61
-
Here is an overview about all EDFS directives:
61
+
Here is an overview about all Cosmo Streams directives:
62
62
63
63
```js
64
64
# Nats and JetStream integration
@@ -120,7 +120,7 @@ An Event-Driven Subgraph does not need to be implemented. It is simply a Subgrap
120
120
121
121
## Prerequisites
122
122
123
-
To use EDFS, you need to have an Event Source running and connected to the Router. Currently, we support NATS, Kafka, and Redis. For simplicity, NATS is used to explain the examples.
123
+
To use Cosmo Streams, you need to have an Event Source running and connected to the Router. Currently, we support NATS, Kafka, and Redis. For simplicity, NATS is used to explain the examples.
124
124
125
125
To get started, run a NATS instance and add the following configuration to your `config.yaml` Router Configuration:
126
126
@@ -315,7 +315,7 @@ Here's an **invalid** message as the `__typename` field is missing:
315
315
316
316
</CodeGroup>
317
317
318
-
It's important to send the `__typename` field because this allows EDFS to also work for Union and Interface types.
318
+
It's important to send the `__typename` field because this allows Cosmo Streams to also work for Union and Interface types.
319
319
320
320
It's worth noting that the Router will not send any responses before you publish a message on the topic. If you need the most recent result, first make a Query, and then subscribe to the Topic. The Router will send the first response only after a message is published on the rendered topic.
321
321
@@ -437,11 +437,11 @@ The Cosmo Router deduplicates Subscriptions internally to save resources. If mul
437
437
438
438
### Statelessness of Subgraphs
439
439
440
-
With EDFS, the Router connects directly to the Event Source but doesn't require any stateful connections, e.g. WebSocket, to the Subgraphs. This makes the Subgraphs much simpler to reason about and easier to deploy. Serverless deployment options usually have limitations on request length. With an Event Broker in the middle, Subgraphs can be stateless without having to give up on Subscriptions.
440
+
With Cosmo Streams, the Router connects directly to the Event Source but doesn't require any stateful connections, e.g. WebSocket, to the Subgraphs. This makes the Subgraphs much simpler to reason about and easier to deploy. Serverless deployment options usually have limitations on request length. With an Event Broker in the middle, Subgraphs can be stateless without having to give up on Subscriptions.
441
441
442
442
### Efficiency, CPU & Memory Consumption (Epoll/Kqueue)
443
443
444
-
EDFS is built on top of Event-Driven principles, which means that the implementation is non-blocking, as CPU efficient as possible, and has a very low memory footprint.
444
+
Cosmo Streams is built on top of Event-Driven principles, which means that the implementation is non-blocking, as CPU efficient as possible, and has a very low memory footprint.
445
445
446
446
We're using Epoll and Kqueue on Systems that support it (Linux, Darwin, etc.) to be as efficient as possible.
447
447
@@ -451,10 +451,10 @@ The Router supports multi-core out of the box and is capable of scaling up to a
451
451
452
452
### Publish Events from any System, not just Subgraphs
453
453
454
-
It's worth noting that publishing Entity update Events is not limited to just Subgraphs. EDFS is designed to fully decouple the API Consumer from the implementation of the Event-Driven Architecture.
454
+
It's worth noting that publishing Entity update Events is not limited to just Subgraphs. Cosmo Streams is designed to fully decouple the API Consumer from the implementation of the Event-Driven Architecture.
455
455
456
-
A client can create a Job via a Mutation and Subscribe to the Job state via EDFS. Next, the Mutation can kick off a long-running process that will be handled by one or many systems in the background. At each step, e.g. when an increment of work is done, each subsystem can publish a message to indicate that the state of an Entity has changed.
456
+
A client can create a Job via a Mutation and Subscribe to the Job state via Cosmo Streams. Next, the Mutation can kick off a long-running process that will be handled by one or many systems in the background. At each step, e.g. when an increment of work is done, each subsystem can publish a message to indicate that the state of an Entity has changed.
457
457
458
458
Once the message is published by one of the sub-systems, the Router can Query all Subgraphs to resolve the current state of the Job.
459
459
460
-
With EDFS, each Subgraph can add fields to an Entity that it's responsible for and publish events to the Message Broker when a long-running Operation updates the overall state of an Entity.
460
+
With Cosmo Streams, each Subgraph can add fields to an Entity that it's responsible for and publish events to the Message Broker when a long-running Operation updates the overall state of an Entity.
0 commit comments