GithubHelp home page GithubHelp logo

hiss's Introduction

Hiss

============================================================================= Gossip with Python on Twisted

                __  ___     
               / / / (_)_________      
              / /_/ / / ___/ ___/   
             / __  / (__  |__  )     
            /_/ /_/_/____/____/        Gossip with Python on Twisted

Version

- Version 0.0.1

What is it?

Hiss is a gossip-driven distributed application framework using the popular asynchronous Python networking library, Twisted. Gossip is a network communication protocol used between nodes in a distributed system. There exist other gossip systems, but as of spring 2023 there was no robust open source Python implementation. Hiss is a straightforward framework to allow the developer to write a linearly scalable distributed application and not worry about inter-node communication. One may create a message with any sort of information, specify an action upon receipt, and simply call "send()." This message will be propogated throughout the system in logarithmic time.

Hiss offers many other features one might expect in a complete framework such as this. It can perform aggregations, and several sample aggregations for network and node system load are provided out of the box.

Hiss also offers a choice of network topologies, as well as the ability to define new ones. The type of gossip performed may differ between environments--perhaps one implementation is within the same datacenter with a bounded number of nodes, trying to optimize for performance, and perhaps another has a variety of connections and needs to support a large number of nodes.

Hiss is very much a work in progress and is only past the "floor demo" stage. Fork requests are appreciated!

Dependencies

Requried Python Packages:

- twisted (for network infrastructure)
- boto (for Amazon Web Services)
- psutil (for server statistics)
- networkx (for visualization)

Potential Python Packages:

- txLoadBalancer (for load balancing)

Author

Chet Mancini - cam479 at cornell dot edu - http://chetmancini.com

Legal

- License: MIT
- Warranty: None of any kind

Installation

Put files in directory

Instructions

Execute: $ python launch.py

Command line arguments:
-h                  Print help
--version           Print version
--port              Hiss port
--interval          Gossip interval (seconds)
--iface             Interface (default localhost)

Changelog

  • 08/25/2012 Cleaned out most of the old code from school project.

hiss's People

Contributors

chetmancini avatar

Watchers

James Cloos avatar Rui Zhang avatar

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.