☰ Menu
CLI Open source

pelikan for Mac

pelikan

Production-ready cache services

pelikan — overview

Pelikan is Twitter's framework for developing cache services. It is:

Fast: Pelikan provides high-throughput and low-latency caching solutions.

Reliable: Pelikan is designed for large-scale deployment and the implementation is informed by our operational experiences.

Modular: Pelikan is a framework for rapidly developing new caching solutions by focusing on the inherent architectural similarity between caching services and providing reusable low-level components.

Website | Chat

Content Overview Products Features Build Usage Community Stay in touch Contributing Documentation License

Overview After years of using and working on various cache services, we built a common framework that reveals the inherent architectural similarity among them.

By creating well-defined modules, most of the low-level functionalities are reused as we create different binaries. The implementation learns from our operational experiences to improve performance and reliability, and leads to software designed for large-scale deployment.

The framework approach allows us to develop new features and protocols quickly.

Products Pelikan contains the following products: pelikan_segcache_rs: a Memcached-like server with extremely high memory efficiency and excellent core scalability. See our [NSDI'21 paper] for design and evaluation details. pelikan_pingserver_rs: an over-engineered, production-ready ping server useful as a tutorial and for measuring baseline RPC performance momento_proxy: a proxy which allows existing applications to use Momento instead of a Memcache-compatible cache backend.

Legacy Pelikan legacy codebase can be found within the legacy folder of this project. It is composed of the original C codebase and backend implementations. It remains as a reference, but is not recommended for production deployments.

Features runtime separation of control and data plane predictably low latencies via lockless data structures, worker never blocks per-module config options and metrics that can be composed easily multiple storage and protocol implementations, easy to further extend low-overhead command logger for hotkey and other important data analysis

Building Pelikan

Requirement Rust stable toolchain C toolchain: llvm/clang (>= 7.0) Build tools: cmake (>= 3.2)

Build

Tests

Usage Using pelikan_segcache_rs as an example, other executables are highly similar.

To get info of the service, including usage format and options, run:

To launch the service with default settings, simply run:

To launch the service with the sample config file, run:

You should be able to try out the server using an existing memcached client, or simply with telnet.

Attention: use admin port for all non-data commands.

Configuration

Pelikan is file-first when it comes to configurations, and currently is config-file only. You can create a new config file following the examples included under the config directory.

Community

Stay in touch Join our project chat on

Details

可用于生产的缓存服务

How to install pelikan

  1. Open Terminal (press ⌘ + Space and type “Terminal”).
  2. If Homebrew is not installed yet, run the command below first.
  3. Run this command:

Latest 10 releases

Last updated 2016-05-05; current version 0.1.2, with the latest 3 releases listed.

VersionReleasedTypeSizemacOSWindowsLinux
0.1.22016-05-05Stable————
0.1.12016-05-03Stable————
0.1.02016-04-05Stable————

Data from GitHub Releases; stable releases first, each group sorted newest first.

Compared with similar apps

Only public metadata is compared, with no subjective recommendation; see the compare pages for field-by-field comparisons.

Compared with similar apps
AppVersionLicenseArchitecture30-day installs
pelikan0.1.2Apache-2.0CLI0
librest0.10.2LGPL-2.1-or-later AND LGPL-3.0-or-laterCLI0
shepherd1.0.9GPL-3.0-or-laterCLI1
mon1.2.3MITCLI1

Similar apps: Command-line Tools

Leave a comment

评论表单加载中…