I recommend implementing a middleware to use Redis for loading the custom routes.
<--- Last few GCs --->
[1537708:0x538f750] 231374 ms: Mark-sweep (reduce) 1254.5 (1390.7) -> 1254.1 (1335.8) MB, 198.0 / 0.0 ms (average mu = 0.720, current mu = 0.053) last resort GC in old space requested
[1537708:0x538f750] 231584 ms: Mark-sweep (reduce) 1254.1 (1335.8) -> 1254.1 (1319.6) MB, 210.1 / 0.0 ms (average mu = 0.547, current mu = 0.000) last resort GC in old space requested
<--- JS stacktrace --->
FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory
1: 0xb09c10 node::Abort() [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
2: 0xa1c193 node::FatalError(char const*, char const*) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
3: 0xcf8dbe v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
4: 0xcf9137 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
5: 0xeb09d5 [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
6: 0xec3448 v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
7: 0xe911a6 v8::internal::Factory::CodeBuilder::AllocateCode(bool) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
8: 0xe91805 v8::internal::Factory::CodeBuilder::BuildInternal(bool) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
9: 0xe9221e v8::internal::Factory::CodeBuilder::Build() [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
10: 0x14e100e v8::internal::RegExpMacroAssemblerX64::GetCode(v8::internal::Handle<v8::internal::String>) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
11: 0x11cba49 v8::internal::RegExpCompiler::Assemble(v8::internal::Isolate*, v8::internal::RegExpMacroAssembler*, v8::internal::RegExpNode*, int, v8::internal::Handle<v8::internal::String>) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
12: 0x11e9dd7 v8::internal::RegExpImpl::Compile(v8::internal::Isolate*, v8::internal::Zone*, v8::internal::RegExpCompileData*, v8::base::Flags<v8::internal::JSRegExp::Flag, int>, v8::internal::Handle<v8::internal::String>, v8::internal::Handle<v8::internal::String>, bool, unsigned int&) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
13: 0x11ea580 v8::internal::RegExpImpl::CompileIrregexp(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSRegExp>, v8::internal::Handle<v8::internal::String>, bool) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
14: 0x11eb17e v8::internal::RegExpImpl::IrregexpPrepare(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSRegExp>, v8::internal::Handle<v8::internal::String>) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
15: 0x11eb2f7 v8::internal::RegExpImpl::IrregexpExec(v8::internal::Isolate*, v8::internal::Handle<v8::internal::JSRegExp>, v8::internal::Handle<v8::internal::String>, int, v8::internal::Handle<v8::internal::RegExpMatchInfo>, v8::internal::RegExp::ExecQuirks) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
16: 0x12104c8 v8::internal::Runtime_RegExpExec(int, unsigned long*, v8::internal::Isolate*) [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
17: 0x15f2099 [/home/mo/.nvm/versions/node/v16.15.0/bin/node]
Aborted (core dumped)