<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>Pegasus | </title>
    <link rel="stylesheet" href="/assets/css/app.css">
    <link rel="shortcut icon" href="/assets/images/favicon.ico">
    <link rel="stylesheet" href="/assets/css/utilities.min.css">
    <link rel="stylesheet" href="/assets/css/docsearch.v3.css">
    <script src="/assets/js/jquery.min.js"></script>
    <script src="/assets/js/all.min.js"></script>
    <script src="/assets/js/docsearch.v3.js"></script>
    <!-- Begin Jekyll SEO tag v2.8.0 -->
<title>Pegasus</title>
<meta name="generator" content="Jekyll v4.3.3" />
<meta property="og:title" content="Pegasus" />
<meta property="og:locale" content="en_US" />
<meta property="og:site_name" content="Pegasus" />
<meta property="og:type" content="website" />
<meta name="twitter:card" content="summary" />
<meta property="twitter:title" content="Pegasus" />
<script type="application/ld+json">
{"@context":"https://schema.org","@type":"WebSite","headline":"Pegasus","name":"Pegasus","url":"/"}</script>
<!-- End Jekyll SEO tag -->
</head>

<body>
    



<nav class="navbar is-primary">
    <div class="container">
        <!--container will be unwrapped when it's in docs-->
        <div class="navbar-brand">
            <a href="/" class="navbar-item is-active">
                <!-- Pegasus Icon -->
                <img src="/assets/images/pegasus.svg">
            </a>
            <div class="navbar-item">
                <a href="/docs" class="button is-primary is-outlined is-inverted">
                    <span class="icon"><i class="fas fa-book"></i></span>
                    <span>Docs</span>
                </a>
            </div>
            <div class="navbar-item is-hidden-desktop">
                  

<!--A simple language switch button that only supports zh and en.-->
<!--IF its language is zh, then switches to en.-->

<a class="button is-primary is-outlined is-inverted" href="/zh/"><strong>中</strong></a>

            </div>
            <a role="button" class="navbar-burger burger" aria-label="menu" aria-expanded="false" data-target="navMenu">
                <!-- Appears in mobile mode only -->
                <span aria-hidden="true"></span>
                <span aria-hidden="true"></span>
                <span aria-hidden="true"></span>
            </a>
        </div>
        <div class="navbar-menu" id="navMenu">
            <div class="navbar-end">
                
                 <!--dropdown-->
                <div class="navbar-item has-dropdown is-hoverable ">
                    <a href=""
                        class="navbar-link ">
                        
                        <span class="icon" style="margin-right: .25em">
                            <i class="fas fa-users"></i>
                        </span>
                        
                        <span>
                            ASF
                        </span>
                    </a>
                    <div class="navbar-dropdown">
                        
                        <a href="https://www.apache.org/"
                            class="navbar-item ">
                            Foundation
                        </a>
                        
                        <a href="https://www.apache.org/licenses/"
                            class="navbar-item ">
                            License
                        </a>
                        
                        <a href="https://www.apache.org/events/current-event.html"
                            class="navbar-item ">
                            Events
                        </a>
                        
                        <a href="https://www.apache.org/foundation/sponsorship.html"
                            class="navbar-item ">
                            Sponsorship
                        </a>
                        
                        <a href="https://www.apache.org/security/"
                            class="navbar-item ">
                            Security
                        </a>
                        
                        <a href="https://privacy.apache.org/policies/privacy-policy-public.html"
                            class="navbar-item ">
                            Privacy
                        </a>
                        
                        <a href="https://www.apache.org/foundation/thanks.html"
                            class="navbar-item ">
                            Thanks
                        </a>
                        
                    </div>
                </div>
                
                
                 <!--dropdown-->
                <div class="navbar-item has-dropdown is-hoverable ">
                    <a href="/community"
                        class="navbar-link ">
                        
                        <span class="icon" style="margin-right: .25em">
                            <i class="fas fa-user-plus"></i>
                        </span>
                        
                        <span>
                            Community
                        </span>
                    </a>
                    <div class="navbar-dropdown">
                        
                        <a href="/community/#contact-us"
                            class="navbar-item ">
                            Contact Us
                        </a>
                        
                        <a href="/community/#contribution"
                            class="navbar-item ">
                            Contribution
                        </a>
                        
                        <a href="https://cwiki.apache.org/confluence/display/PEGASUS/Coding+guides"
                            class="navbar-item ">
                            Coding Guides
                        </a>
                        
                        <a href="https://github.com/apache/incubator-pegasus/issues?q=is%3Aissue+is%3Aopen+label%3Atype%2Fbug"
                            class="navbar-item ">
                            Bug Tracking
                        </a>
                        
                        <a href="https://cwiki.apache.org/confluence/display/INCUBATOR/PegasusProposal"
                            class="navbar-item ">
                            Apache Proposal
                        </a>
                        
                    </div>
                </div>
                
                
                
                <a href="/blogs"
                    class="navbar-item ">
                    
                    <span class="icon" style="margin-right: .25em">
                        <i class="fas fa-rss"></i>
                    </span>
                    
                    <span>Blog</span>
                </a>
                
                
                
                <a href="/docs/downloads"
                    class="navbar-item ">
                    
                    <span class="icon" style="margin-right: .25em">
                        <i class="fas fa-fire"></i>
                    </span>
                    
                    <span>Releases</span>
                </a>
                
                
            </div>
            <div class="navbar-item is-hidden-mobile">
                

<!--A simple language switch button that only supports zh and en.-->
<!--IF its language is zh, then switches to en.-->

<a class="button is-primary is-outlined is-inverted" href="/zh/"><strong>中</strong></a>

            </div>
        </div>
    </div>
</nav>

    <section class="hero is-large is-bold is-primary" >
        <div class="hero-body">
            <div class="container has-text-centered">
                <p class="project-title title is-1 has-text-weight-medium"
                   style="padding-bottom: 2rem; font-size: 70px;">
                    Apache Pegasus
                </p>
                <p class="project-subtitle subtitle is-4 has-text-white-bis has-text-weight-light">
                    
                    A horizontally scalable, strongly consistent and high-performance key-value store
                    
                </p>
                <div style="padding-top: 1rem" class="buttons is-centered">
                    <a class="button is-light is-large front-start-button"
                       href="/overview">
                        <span class="icon"><i class="fas fa-chevron-right"></i></span>
                        <span>
                            <span style="font-weight:lighter">Get</span>
                            <strong>Started</strong>
                        </span>
                    </a>
                </div>
            </div>
        </div>
    </section>
    <footer class="footer">
    <div class="container">
        <div class="content is-small has-text-centered">
            <div style="margin-bottom: 20px;">
                <a href="http://incubator.apache.org">
                    <img src="/assets/images/egg-logo.png"
                         width="15%"
                         alt="Apache Incubator"/>
                </a>
            </div>
            Copyright &copy; 2023 <a href="http://www.apache.org">The Apache Software Foundation</a>.
            Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version
            2.0</a>.
            <br><br>
            
            Apache Pegasus is an effort undergoing incubation at The Apache Software Foundation (ASF),
            sponsored by the Apache Incubator. Incubation is required of all newly accepted projects
            until a further review indicates that the infrastructure, communications, and decision making process
            have stabilized in a manner consistent with other successful ASF projects. While incubation status is
            not necessarily a reflection of the completeness or stability of the code, it does indicate that the
            project has yet to be fully endorsed by the ASF.
            
            <br><br>
            Apache Pegasus, Pegasus, Apache, the Apache feather logo, and the Apache Pegasus project logo are either
            registered trademarks or trademarks of The Apache Software Foundation in the United States and other
            countries.
        </div>
    </div>
</footer>
    <script src="/assets/js/app.js" type="text/javascript"></script>
</body>
</html>
