-
Notifications
You must be signed in to change notification settings - Fork 46
Adds USPs to livesync docs #3059
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
Important Review skippedAuto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the You can disable this status message by setting the Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
c1e6bb1 to
aa54243
Compare
GregHolmes
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This branch isn't building. But I've left some comments, let me know what you think.
|
|
||
| By using Ably Pub/Sub channels and SDKs, clients subscribing to messages published by the MongoDB database connector benefit from features like [connection-recovery](/docs/connect/states), [exactly-once delivery](/docs/achieving-exactly-once-message-processing-with-ably) and [ordering guarantees](https://faqs.ably.com/reliable-message-ordering-for-connected-clients) out of the box. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is in the middle of the text introducing how to use MongoDB and LiveSync, and the image showing it. I don't think the Aside is relevant enough to split these two up.
|
|
||
| The MongoDB database connector is enabled through an Ably integration rule. The rule will consume document changes from your MongoDB deployment via the MongoDB [Change Streams API](https://www.mongodb.com/docs/manual/changeStreams/). The integration rule exists as a "database connector" component that is entirely provisioned and managed by Ably and is fault-tolerant with automatic fail-over. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not too sure I see the relevance of this Aside to be in the middle of a section on How it works. If the content is relevant, could it be placed somewhere else in the page?
| You must set the `_ablyChannel` field on the root of the change event. This allows the MongoDB database connector to know where to route the change event. | ||
| </Aside> | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need this immediately after an Important Aside? and are 3 Asides needed on a single page?
|
|
||
| By using the outbox table, you can specify which channel that record should be published to, and make changes to your other database tables transactionally with the publish. This mitigates the problem of trying to transactionally write to two different systems; Ably and the database. You can gain exactly-once and in-order delivery over Ably transactionally with other data you modify in your database. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need two of these separated by a single line of text? I'd recommend using the most relevant and removing the other.
| - the [`sync()`](#sync) function is used by the SDK to retrieve the current state of the `model` from your backend, | ||
| - the [`merge()`](#merge) function is used by the SDK to merge state change events published by the Postgres database connector with the existing frontend state in the `model`. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this relevant to how it works?
|
|
||
| LiveSync can be used in applications where your database is the source of truth for the application state, and that state needs to be reflected in realtime to client applications. LiveSync enables this data synchronisation while maintaining data integrity and low latency. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this distracts from the connection between the intro text and the image. What do you think?
|
|
||
| Ably's [pub/sub channels](/docs/channels) are the mechanism used by LiveSync for synchronizing data updates across clients. When a message is published on a channel by the database connector, it is immediately broadcast to all subscribers of that channel. | ||
|
|
||
| <Aside data-type='see-evidence'> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we already talk about ordering guarantees 2 paragraphs up. Do we need this one?
This PR:
Note that once the copy has been confirmed, I will then add the finished components designed by Lenker.
Checklist