diff options
author | vnugent <public@vaughnnugent.com> | 2023-08-05 17:50:16 -0400 |
---|---|---|
committer | vnugent <public@vaughnnugent.com> | 2023-08-05 17:50:16 -0400 |
commit | bd4590d7cfaf2fa554ff6c37e095975ac4eb0f02 (patch) | |
tree | 66c4720e46cb7eb066a784a22a4de3544babbafb /plugins/ObjectCacheServer | |
parent | 6de8bb6b38b716605f0d275d998ca47e33520b7a (diff) |
Public prep, and api additions
Diffstat (limited to 'plugins/ObjectCacheServer')
-rw-r--r-- | plugins/ObjectCacheServer/LICENSE.txt | 4 | ||||
-rw-r--r-- | plugins/ObjectCacheServer/README.md | 18 | ||||
-rw-r--r-- | plugins/ObjectCacheServer/src/ObjectCacheServer.sample.json | 58 |
3 files changed, 75 insertions, 5 deletions
diff --git a/plugins/ObjectCacheServer/LICENSE.txt b/plugins/ObjectCacheServer/LICENSE.txt index 147bcd6..a169586 100644 --- a/plugins/ObjectCacheServer/LICENSE.txt +++ b/plugins/ObjectCacheServer/LICENSE.txt @@ -1,8 +1,8 @@ -Copyright (c) 2022 Vaughn Nugent +Copyright (c) 2023 Vaughn Nugent Contact information Name: Vaughn Nugent - Email: public[at]vaughnnugent[dot]com + Email: vnpublic@proton.me Website: https://www.vaughnnugent.com The software in this repository is licensed under the GNU Affero GPL version 3.0 (or any later version). diff --git a/plugins/ObjectCacheServer/README.md b/plugins/ObjectCacheServer/README.md index 9465792..c6fb0e5 100644 --- a/plugins/ObjectCacheServer/README.md +++ b/plugins/ObjectCacheServer/README.md @@ -1,8 +1,20 @@ # ObjectCacheServer -*A clustered VNCache object cache server plugin. Provides a high-performance key-value memory cache* +*A distributed VNCache object cache server plugin. Provides a high-performance key-value memory cache with support for persistence* -#### Builds -Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my [website](https://www.vaughnnugent.com/resources/software). All tar-gzip (.tgz) files will have an associated .sha384 appended checksum of the desired download file. +This is a VNLib.Plugins.Essentials compatible runtime loadable plugin. A sample configuration file is included in the src folder. You should look at the plugin [documentation](https://www.vaughnnugent.com/resources/software/articles?search=plugin) to understand how to configure and load plugins into your VNLib.Webserver or other compatable hosts. + +### Dependency notice +This plugin library requires the use of 3rd party dependencies. + +## Builds +Debug build w/ symbols & xml docs, release builds, NuGet packages, and individually packaged source code are available on my website (link below). + +## Docs and Guides +Documentation, specifications, and setup guides are available on my website. + +[Docs and Articles](https://www.vaughnnugent.com/resources/software/articles?tags=docs,_ObjectCacheServer) +[Builds and Source](https://www.vaughnnugent.com/resources/software/modules/VNLib.Data.Caching) +[Nuget Feeds](https://www.vaughnnugent.com/resources/software/modules) ## License Source files in for this project are licensed to you under the GNU Affero General Public License (or any later version). See the LICENSE files for more information.
\ No newline at end of file diff --git a/plugins/ObjectCacheServer/src/ObjectCacheServer.sample.json b/plugins/ObjectCacheServer/src/ObjectCacheServer.sample.json new file mode 100644 index 0000000..cb661e6 --- /dev/null +++ b/plugins/ObjectCacheServer/src/ObjectCacheServer.sample.json @@ -0,0 +1,58 @@ +{ + //enables cache server cluster node data + "cluster": { + //Delay to re-discover peers + "discovery_interval_sec": 360, + + //Limits the number of peers to connect to after discovery + "max_peers": 10, + + //Max ev queue depth before LRU eviction + "max_queue_depth": 10000, + + //Time between queue purge + "queue_purge_interval_sec": 360000, + + //Forces strict ip address verification on upgrades (best to leave on) + "verify_ip": true, + + //The cache websocket endpoint path + "connect_path": "/cache", + + //Optional to allow nodes to discover nodes we adverties + "discovery_path": "/discover", + + //Optionally change the well-known path (clients must know this) + "well_known_path": null + }, + + //Cache configuration object, FBM protocol variables + "cache": { + + //the number of cache buckets to distribute load + "buckets": 100, + + //Max number of cache entires per bucket + "max_cache": 10000, + + //the maxium queue depth allowed per cache server event queue before LRU eviction + "change_queue_max_depth": 10000, + + //FBM buffer config + "buffer_recv_max": 102400, //Up to 100Kb transfer buffer + "buffer_recv_min": 8192, //min of 8k transfer buffer + "buffer_header_max": 2048, //2k max header buffer size + "buffer_header_min": 128, //128 byte min request header buffer size + "max_message_size": 20480 //Absolute maxium message size allowed, also the maxium size of cache entires + }, + + //Known peers array, must point to well-known endpoint for discovery + "known_peers": [ + ], + + "secrets": { + //Required cache secrets + "cache_private_key": "", + "client_public_key": "" + } +}
\ No newline at end of file |