dozer migrate
#1129
Closed
chubei
started this conversation in
Feature Requests
`dozer migrate`
#1129
Replies: 3 comments 1 reply
-
Could make sense to have versioned endpoints like |
Beta Was this translation helpful? Give feedback.
1 reply
-
Looks good. As discussed, and for others' benefit we can also introduce a way to switch versions either through configuration or manually calling an internal grpc endpoint. Current blue green cache implementation is one of the supported automatic switching mechanisms. |
Beta Was this translation helpful? Give feedback.
0 replies
-
See #1488 |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Migration
State
The Dozer state is defined as following:
Write
.Name Calculation
Source name is the connection name from configuration file.
Processor names are generated and unique.
Sink name is the
Write
sink name if it exists, otherwise generated and unique.Cache name is the cache name from sink mapping if it exists, otherwise generated and unique.
Migration Check
On startup, Dozer calculates all names, and checks if pipeline is consistent (See #763 for definition of consistency).
If consistent, Dozer further checks:
If any of the check fails, migration is needed.
Migration Execution
If migration is requested, Dozer do the following:
Write
.After these actions, the whole pipeline has no state and is consistent.
Dozer API serves all sinks of all endpoints. Dozer App writes to
Write
sink.API Path Calculation
For any endpoint, the first sink is served under the API path specified in configuration file.
Following sinks are served under versioned API path.
For example, if the configured API path is
/users
, the first sink is served under/users
, and the second sink is served under/v2/users
.Replace on Catchup
If requested, Dozer points the first sink to the cache of the
Write
sink, when theWrite
sink has processed enough number of records. This is the blue green cache mechanism which is already implemented.@getdozer/dozer-dev
Beta Was this translation helpful? Give feedback.
All reactions