GithubHelp home page GithubHelp logo

yahoojapan / chmpx Goto Github PK

View Code? Open in Web Editor NEW
17.0 10.0 3.0 1.97 MB

Consistent Hashing Mq inProcess data eXchange

Home Page: https://chmpx.antpick.ax/

License: MIT License

Makefile 0.73% Shell 7.48% M4 0.39% C++ 86.05% C 5.36%
cluster consistent server-client-communication messaging multiplex autoscaling antpickax fullock k2hash chmpx

chmpx's Introduction

CHMPX

C/C++ AntPickax CI GitHub license GitHub forks GitHub stars GitHub issues debian packages RPM packages Docker image Docker dev image

CHMPX - Consistent Hashing Mq inProcess data eXchange

Overview

CHMPX is inprocess data exchange by MQ with consistent hashing system, and libraries for clients by Yahoo! JAPAN.
CHMPX is made for the purpose of the construction of original messaging system and the offer of the client library.
CHMPX transfers messages between the client and the server/slave.
CHMPX based servers are dispersed by consistent hashing and are automatically laid out.
As a result, it provides a high performance, a high scalability.

CHMPX

Feature

  • Build up cluster with unique name by some servers.
  • Layouts servers in cluster by consistent hashing.
  • Supports interprocess communication across the servers.
  • Supports synchronous/asynchronous communication.
  • Supports communicating messages in the target specified(HASH).
  • Supports plugin Hashing function for target messaging.
  • Supports communicating messages in the random.
  • Supports SSL communication.
  • The message communication possible bypass.
  • No message lost during communication failure.
  • Broadcast a message communication possible.
  • Provision of high-level library for clients.
  • Supports multi-thread/process for client programs.
  • Supports synchronous communication
  • Supports asynchronous communication
  • Supports broadcast messages
  • Supports data merging automatically
  • Supports scaling automatically

Documents

Packages

Docker images

License

This software is released under the MIT License, see the license file.

AntPickax

chmpx is one of AntPickax products.

Copyright(C) 2014 Yahoo Japan corporation.

chmpx's People

Contributors

ggtakec avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

chmpx's Issues

Build error in Fedora 25

Additional Information

(The following information is very important in order to help us to help you. Omission of the following details may delay your support request or receive no attention at all.)

  • Version of CHMPX being used (chmpx -version)
CHMPX Version 1.0.50 (commit: 1b4e5f1)

Copyright 2014 Yahoo! JAPAN corporation.

CHMPX is inprocess data exchange by MQ with consistent hashing.
CHMPX is made for the purpose of the construction of original
messaging system and the offer of the client library. CHMPX
transfers messages between the client and the server/slave. CHMPX
based servers are dispersed by consistent hashing and are
automatically layouted. As a result, it provides a high performance,
a high scalability.
  • System information (uname -a)
Linux f844098a57bd 4.6.6-200.fc23.x86_64 #1 SMP Wed Aug 10 23:13:35 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

Fedora 25 docker container on Fedora 23

  • Distro (cat /etc/issue)
\S
Kernel \r on an \m (\l)

Details about issue

Build error in Fedora 25

Fedora 25 / gcc version 6.2.1 20160916 (Red Hat 6.2.1-2) (GCC)

chmcntrl.cc: In member function 'chminfo_ex* ChmCntrl::DupAllChmInfo()':
chmcntrl.cc:1222:10: error: cannot convert 'bool' to 'PCHMINFOEX {aka chminfo_ex*}' in return
   return false;

chmcntrl.cc: In member function 'chmpx* ChmCntrl::DupSelfChmpxInfo()':
chmcntrl.cc:1231:10: error: cannot convert 'bool' to 'PCHMPX {aka chmpx*}' in return
   return false;

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.