Git Product home page Git Product logo

automq's Introduction

AutoMQ: Truly serverless Kafka solution that maximizes the benefits of cloud

GitHub release (with filter) GitHub pull requests GitHub closed pull requests GitHub all releases


       


image

🍵What is AutoMQ

AutoMQ is a cloud-native, serverless reinvented Kafka that is easily scalable, manage-less and cost-effective.

🔶Why AutoMQ

  • Cloud Native: Built on cloud service. Every system design decision take cloud service's feature and billing items into consideration to offer best low-latency, scalable, reliable and cost-effective Kafka service on cloud.
  • High Reliability: Leverage the features of cloud service to offer RPO of 0 and RTO in seconds.
    • AWS: Use S3 express one zone and S3 to offer AZ level disaster recovery.
    • GCP: Use regional SSD and cloud storage to offer AZ level disaster recovery.
    • Azure: Use zone-redundant storage and blob storage to offer AZ level disaster recovery.
  • Serverless:
    • Auto Scaling: Watch key metrics of cluster and scale in/out automatically to match you workload and achieve pay-as-you-go.
    • Scaling in seconds: Computing layer (broker) is stateless and could scale in/out in seconds, which make AutoMQ true serverless. Learn more
    • Infinite scalable: Use cloud's object storage as the main storage, never worry about storage capacity.
  • Manage-less: Built-in auto-balancer component balance partition and network traffic across brokers automatically. Never worry about partition re-balance. Learn more
  • Cost effective: Use object storage as the main storage, take billing items into consideration when design system, fully utilize the cloud service, all of them contribute to AutoMQ and make it 10x cheaper than Apache Kafka. Refer to this report to see how we cut Apache Kafka billing by 90% on the cloud.
  • High performance:
    • Low latency: Use cloud block storage like AWS EBS as the durable cache layer to accelerate write.
    • High throughput: Use pre-fetching, batch processing and parallel to achieve high throughput.

    Refer to the AutoMQ Performance White Paper to see how we achieve this.

  • A superior alternative to Apache Kafka: 100% compatible with Apache Kafka greater than 0.9.x and not lose any good features of it, but cheaper and better.

image

✨Architecture

image

AutoMQ use logSegment as a code aspect of Apache Kafka to weave into our features. The architecture including the following main components:

  • S3Stream: A streaming library based on object storage offered by AutoMQ. It is the core component of AutoMQ and is responsible for reading and writing data to object storage. Learn more.
  • Stream: Stream is an abstraction to mapping the logSegment of Apache Kafka. LogSegment's data, index and other meta will mapping to different type of stream. Learn more
  • Durable Cache Layer: AutoMQ use a small size cloud block storage like AWS EBS as the durable cache layer to accelerate write. Pay attention that this is not tiered storage and AutoMQ broker can decoupled from the durable cache layer completely. Learn more
  • Stream Object: AutoMQ's data is organized by stream object. Data is read by stream object id through index. One stream have one stream object. Learn more
  • Stream set object: Stream set object is a collection of small stream object that aimed to decrease API invoke times and metadata size. Learn more

⛄Get started with AutoMQ

Run AutoMQ local without cloud

The easiest way to run AutoMQ. You can experience the feature like fast partition move and network traffic auto-balance. Learn more

Attention: Local mode mock object storage locally and is not a production ready deployment. It is only for demo and test purpose.

Run AutoMQ on cloud manually

Deploy AutoMQ manually with released tgz files on cloud, currently compatible with AWS, Aliyun Cloud, Tencent Cloud, Huawei Cloud and Baidu Cloud. Learn more

💬Community

You can join the following groups or channels to discuss or ask questions about AutoMQ:

👥How to contribute

If you've found a problem with AutoMQ, please open a GitHub Issues. To contribute to AutoMQ please see Code of Conduct and Contributing Guide. We have a list of good first issues that help you to get started, gain experience, and get familiar with our contribution process.

🌈Roadmap

Coming soon...

⭐License

AutoMQ is released under Business Source License 1.1. When contributing to AutoMQ, you can find the relevant license header in each file.

automq's People

Contributors

ijuma avatar hachikuji avatar mjsax avatar guozhangwang avatar cmccabe avatar rajinisivaram avatar dajac avatar superhx avatar scnieh avatar showuon avatar vvcephei avatar junrao avatar dguy avatar omkreddy avatar cadonna avatar chia7712 avatar bbejeck avatar mimaison avatar ewencp avatar mumrah avatar c0urante avatar dengziming avatar jsancio avatar chillax-0v0 avatar nehanarkhede avatar vahidhashemian avatar gharris1727 avatar granthenke avatar enothereska avatar jolshan 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.