Giter Site home page Giter Site logo

kp666 / aeron Goto Github PK

View Code? Open in Web Editor NEW

This project forked from real-logic/aeron

0.0 0.0 0.0 56.05 MB

Efficient reliable UDP unicast, UDP multicast, and IPC message transport

License: Apache License 2.0

Shell 0.53% C++ 22.82% C 17.28% Java 58.35% CMake 0.66% Batchfile 0.35% Dockerfile 0.02%

aeron's Introduction

Aeron

GitHub Javadocs

Actions Status CodeQL Status

Efficient reliable UDP unicast, UDP multicast, and IPC message transport. Java, C, and C++ clients are available in this repository, and a .NET client is available. All clients can exchange messages across machines, or on the same machine via IPC, very efficiently. Message streams can be recorded by the Archive module to persistent storage for later, or real-time, replay. Aeron Cluster provides support for fault-tolerant services as replicated state machines based on the Raft consensus algorithm.

Performance is the key focus. A design goal for Aeron is to be the highest throughput with the lowest and most predictable latency of any messaging system. Aeron integrates with Simple Binary Encoding (SBE) for the best possible message encoding and decoding performance. Many of the data structures used in the creation of Aeron have been factored out to the Agrona project.

For details of usage, protocol specification, FAQ, etc. please check out the Wiki.

For those who prefer to watch a video then try Aeron Messaging from StrangeLoop 2014. Things have advanced quite a bit with performance and features, but the basic design still applies.

For the latest version information and changes see the Change Log with Java downloads at Maven Central.

Aeron is owned and operated by Adaptive Financial Consulting. Originally created by Martin Thompson and Todd Montgomery, the Aeron team joined Adaptive in 2022.

Aeron is free and open source but if your team needs support, we are here to help.

We provide a range of services including:

  • Training for development and operations with Aeron and Aeron Cluster.
  • Consulting, for example if you’re not sure how to design your system or need help tuning your system.
  • We also offer a number of proprietary enhancements on top of Aeron and Aeron Cluster such as kernel bypass (ef_vi, AWS DPDK, and VMA) for increased performance, and blazing fast encryption with ATS.
  • If you’re building a new trading system, we have experienced Aeron developers who can help.

Please get in touch at [email protected] if you would like to learn more about any of these.

How do I use Aeron?

  1. Java Programming Guide
  2. C++11 Programming Guide
  3. Best Practices Guide
  4. Monitoring and Debugging
  5. Configuration Options
  6. Channel Specific Configuration
  7. Aeron Archive (Durable/Persistent Stream Storage)
  8. Aeron Cluster (Fault Tolerant Services)
  9. Aeron Cookbook by Shaun Laurens.

How does Aeron work?

  1. Transport Protocol Specification
  2. Design Overview
  3. Design Principles
  4. Flow Control Semantics
  5. Media Driver Operation

How do I hack on Aeron?

  1. Hacking on Aeron
  2. Performance Testing
  3. Building Aeron

License (See LICENSE file for full license)

Copyright 2014-2023 Real Logic Limited.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

https://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

aeron's People

Contributors

0xcafed00d avatar brianhorst avatar cesaref avatar denizevrenci avatar didenko avatar epickrram avatar farnyser avatar jessefugitt avatar jh0x avatar johnpr01 avatar jpwatson avatar lfn3 avatar ltrzesniewski avatar lygstate avatar mikeb01 avatar mjpt777 avatar mst4 avatar nicklauslittle avatar nitsanw avatar qivan avatar ratcashdev avatar richardwarburton avatar rlankenau avatar skurkchan avatar strangelydim avatar tmontgomery avatar vksingh70 avatar vyazelenko avatar wlukowicz avatar zachbray 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.