Skip to content

tdzl2003/dak

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Dak

High performance publish-subscribe database which supports huge amount of topics.

See: wiki

Status

  • Version 0.0.1 under deverlopment.

MileStones:

0.0.1

  • Message subscription/send for local center.
  • Message subscription/send for remote connection.
  • General unit test for message subscription/send.
  • Unit test for special error codes.
  • Server executable.

0.1.0

  • Meta subscription/set for local center.
  • Meta subscription/set for remote center.
  • Unit test for meta subscription/set.
  • Configuration support for server executable.

0.2.0

  • Provide docker image & CI build.
  • Subscription over callback with error codes.
  • Connection recovery/retrying.
  • Heart beat.

0.3.0

  • Benchmark for local&remote center.
  • Performance optimize.

1.0.0

  • Support sharding.
  • Bugfixes.
  • Advanced performance optimize.
  • More guides & documents.

1.1.0

  • Support sharding with scaling.

How to build this project

You should install following softwares:

  • CMake (3.11 or above)
  • C++ Compiler which support C++11 (Visual Studio 2015+/Xcode/clang/gcc)
  • vcpkg

Set enviroment variables

# Linux/MacOS:
export VCPKG_ROOT=*Where you install vcpkg(without trailing slash)*

# Windows:
SET VCPKG_ROOT=*Where you install vcpkg(without trailing slash)*

Install boost via vcpkg:

# Platform default:
vcpkg install boost

# Windows with x64 support:
vcpkg install boost:x64-windows

Generate project via CMake:

# Linux/MacOS:
cmake -H. -Bbuild -DCMAKE_TOOLCHAIN_FILE=$VCPKG_ROOT/scripts/buildsystems/vcpkg.cmake
cd build && make

# Windows:
cmake -H. -Bbuild -DCMAKE_TOOLCHAIN_FILE=%VCPKG_ROOT%\scripts\buildsystems\vcpkg.cmake
# Then open project in build directory.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published