two-hundred / celerity

The backend toolkit that gets you moving fast
https://celerityframework.com
Apache License 2.0
0 stars 0 forks source link

Blueprint Framework - Implement interface support for caching/persistence of a serialised format for blueprints with expanded substitutions #39

Closed fr3shw3b closed 2 months ago

fr3shw3b commented 4 months ago

The nature of substitutions embedded in JSON string values and YAML scalar nodes means in large blueprints that use a lot of substitutions, many embedded strings need to be parsed individually. When running on a server with a large amount of blueprints being parsed simultaneously, this can become a serious performance concern. One solution would be to cache the blueprint schema with substitutions expanded in-memory or in a serialised format in a database or on a file system based on the needs of the system running the blueprint framework. (in-memory would not be a good solution for a context where horizontal scalability is important)

fr3shw3b commented 3 months ago

This was implemented with a built-in "Expanded Blueprint" serialiser using Protocol Buffers.