-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
EPIC: Preparing a punch of incremental PR's: #8661
Comments
This was referenced Jun 16, 2023
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Can be done incremental
This is not a programmer choice it is a async operation to work on a distributed cluster
That is not a opinion this needs to get done first even in the most current version
to upgrade existing users every api call needs to be expected to be async even the
.plugin chain while we can keep it for convenience but i would not suggest to do so
Deprecation next Major
TODO:
Adoption Strategie
lib + platform === pouchdb
For contributors some pseudo code
This Implements the so called Append Only Logging Pipeline the same thing as Kafka Streams and Couchbase XDCR does . This is in fact the low level implementation detail of the XDCR and chromium devtools protocol implementation joined into readAble ECMAScript
the next trick is the main pouchdb instance runs in a so called sharedWorker
in nodejs a sharedWorker gets implemented via origin.socket where as on other contexts like deno and WInterOP ENVS its gets implemented based on new navigator.SharedWorker
This gives us a single context (DB) so we can serialize the IO in a central place.
for both the user code looks the same it is import('./sharedWorker.js')
after that they use postMessage onmessage respectively when apply more logic then a single function they use streams
Scalability Inifinity Scale
For inifinity scale it is needed to horizontal scale while you can on bigger instances
run more then a single horizontal instance same concept as kubernetes docker containers
a container has a given workload size eg mem cpu bound lets say 1vcpu 512mb mem then we can horizontal scale that on the same host via running multiple instances or we can shard on remote hosts.
sharedWorker
nodejs
Cross platform http-server
node accept json post as body
node first url part / === name
The text was updated successfully, but these errors were encountered: