29 lines
1.4 KiB
Markdown
29 lines
1.4 KiB
Markdown
# RBCS Docker images
|
|
There are 3 image flavours:
|
|
- vanilla
|
|
- memcache
|
|
- native
|
|
|
|
The `vanilla` image only contains the envelope
|
|
jar file with no plugins and is based on `eclipse-temurin:21-jre-alpine`
|
|
|
|
The `memcache` image is similar to the `vanilla` image, except that it also contains
|
|
the `rbcs-server-memcache` plugin in the `plugins` folder, use this image if you don't want to use the `native`
|
|
image and want to use memcache as the cache backend
|
|
|
|
The `native` image contains a native, statically-linked executable created with GraalVM Native Image
|
|
that has no userspace dependencies. It also embeds the memcache plugin inside the executable.
|
|
Use this image for maximum efficiency and minimal memory footprint.
|
|
|
|
The `jlink` image contains a custom Java runtime created with GraalVM's Jlink
|
|
that only depends on glibc. It also contains the memcache plugin in the module path.
|
|
Use this image for best performance.
|
|
|
|
## Which image should I use?
|
|
The `native` image uses Java's SerialGC, so it's ideal for constrained environment like containers or small servers,
|
|
if you have a lot of resources and want to squeeze out the maximum throughput you should consider the
|
|
`vanilla` or `memcache` image, then choose and fine tune the garbage collector.
|
|
|
|
Also the `native` image is only available for the `x86_64` architecture at the moment,
|
|
while `vanilla` and `memcache` also ship a `aarch64` variant.
|