All Projects → Tredzone → simplx

Tredzone / simplx

Licence: other
C++ development framework for building reliable cache-friendly distributed and concurrent multicore software

Programming Languages

C++
36643 projects - #6 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to simplx

Fgbase
Ready-send coordination layer on top of goroutines.
Stars: ✭ 45 (-26.23%)
Mutual labels:  scalable, distributed, concurrent
Js Spark
Realtime calculation distributed system. AKA distributed lodash
Stars: ✭ 187 (+206.56%)
Mutual labels:  realtime, distributed, multicore
Phoenix
Peace of mind from prototype to production
Stars: ✭ 17,476 (+28549.18%)
Mutual labels:  realtime, distributed
Clearly
Clearly see and debug your celery cluster in real time!
Stars: ✭ 287 (+370.49%)
Mutual labels:  realtime, distributed
Cat
CAT 作为服务端项目基础组件,提供了 Java, C/C++, Node.js, Python, Go 等多语言客户端,已经在美团点评的基础架构中间件框架(MVC框架,RPC框架,数据库框架,缓存框架等,消息队列,配置系统等)深度集成,为美团点评各业务线提供系统丰富的性能指标、健康状况、实时告警等。
Stars: ✭ 16,236 (+26516.39%)
Mutual labels:  realtime, distributed
nova
Web framework for Erlang.
Stars: ✭ 175 (+186.89%)
Mutual labels:  realtime, distributed
traffic
Massively real-time traffic streaming application
Stars: ✭ 25 (-59.02%)
Mutual labels:  realtime, distributed
Dop
JavaScript implementation for Distributed Object Protocol
Stars: ✭ 163 (+167.21%)
Mutual labels:  realtime, distributed
Entitycomponentsystemsamples
No description or website provided.
Stars: ✭ 4,218 (+6814.75%)
Mutual labels:  multicore, multicore-programming
litchi
这是一款分布式的java游戏服务器框架
Stars: ✭ 97 (+59.02%)
Mutual labels:  scalable, distributed
flowgraph
Flowgraph package for scalable asynchronous system development
Stars: ✭ 51 (-16.39%)
Mutual labels:  scalable, distributed
Zoneminder
ZoneMinder is a free, open source Closed-circuit television software application developed for Linux which supports IP, USB and Analog cameras.
Stars: ✭ 3,450 (+5555.74%)
Mutual labels:  scalable, distributed
Bingo
基于golang开发的高性能,高并发分布式框架。
Stars: ✭ 9 (-85.25%)
Mutual labels:  distributed, concurrent
Arq
Fast job queuing and RPC in python with asyncio and redis.
Stars: ✭ 695 (+1039.34%)
Mutual labels:  distributed, concurrent
Fluidframework
Library for building distributed, real-time collaborative web applications
Stars: ✭ 3,592 (+5788.52%)
Mutual labels:  realtime, distributed
funboost
pip install funboost,python全功能分布式函数调度框架,。支持python所有类型的并发模式和全球一切知名消息队列中间件,python函数加速器,框架包罗万象,一统编程思维,兼容50% python编程业务场景,适用范围广。只需要一行代码即可分布式执行python一切函数。旧名字是function_scheduling_distributed_framework
Stars: ✭ 351 (+475.41%)
Mutual labels:  distributed, concurrent
echo-server
Echo Server is a Docker-ready, multi-scalable Node.js application used to host your own Socket.IO server for Laravel Broadcasting.
Stars: ✭ 32 (-47.54%)
Mutual labels:  scalable, realtime
Vernemq
A distributed MQTT message broker based on Erlang/OTP. Built for high quality & Industrial use cases.
Stars: ✭ 2,628 (+4208.2%)
Mutual labels:  scalable, distributed
Coerce Rs
Coerce - an asynchronous (async/await) Actor runtime and cluster framework for Rust
Stars: ✭ 231 (+278.69%)
Mutual labels:  scalable, distributed
Multi-Node-TimescaleDB
The multi-node setup of TimescaleDB 🐯🐯🐯 🐘 🐯🐯🐯
Stars: ✭ 42 (-31.15%)
Mutual labels:  distributed

About

Simplx is a C++ development framework for building reliable cache-friendly distributed and concurrent multicore software.

Simplx was developed by Tredzone SAS. We provide software technology solutions and services dedicated to high-performance real-time processing. Our technology enables low and predictable latency, scalability, and high throughput. We also offer support contracts and enterprise tools for monitoring, profiling, debugging, server clustering under commercial licenses.

Simplx is used at the Paris stock exchange by Euronext's market exchange platform, called "Optiq", and has been successfully deployed since November 2016.

Tredzone was founded in 2013 and operates in France, the UK and US.

Requirements

This code has been built and unit-tested on Linux with:

  • Linux kernel 2.6+
  • g++ versions 4.9.4, 5.5, 6.4, 7.3 and 8.2
  • clang++ 3.9.1 and 4.0 with the libstdc++ runtime

It requires either C++ 11, 14 or 17 and the pthreads library. Support for Windows/VisualC++ will be announced soon.

License

Simplx is open-sourced under the Apache 2.0 license, please see the accompanying License.

Getting Started

About a dozen tutorials are included here, please see the Tutorials README.

To build the first tutorial, open a terminal at the root of the repository and type:

cd tutorials/01_hello_actor
mkdir build && cd build
cmake ..
make -j8

Unit Tests

To build and run the unit tests, which depend on the Google Test submodule, open a terminal at the root of the repository and type:

git submodule update --init thirdparty/googletest
cd test/engine
mkdir tbuild && cd tbuild
cmake ..
make -j8

to then run the unit tests type:

make test

Docker

There's a Bash that'll compile the tutorials and run the unit tests under all above-mentionned versions of gcc and clang under Docker:

./test/docker_test.sh

If a compilation or unit test failure occurs, the script will stop and report the error.

The 1st run takes a while to download the Docker images, as per usual with Docker.

Documentation

To generate the documentation, open a terminal at the repository root and type

doxygen doc/Doxyfile

Enterprise License

If you have a commercial enterprise license with us, including appropriate github access credentials, you may fetch those components with:

git submodule update --init enterprise

for compilation you should also #define the following:

TREDZONE_ENTREPRISE

Enterprise Unit Tests

At the root of the repository and type:

git submodule update --init thirdparty/googletest
mkdir tbuild && cd tbuild
cmake -DENTERPRISE=1 -DBUILD_TEST=1 ..
make -j8
make test

Docker

To run the unit tests under Docker:

./test/docker_test.sh -DENTERPRISE=1
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].