<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1" />
    <title>Service APIs | Apache Ignite</title>
    <link rel="stylesheet" href="/js/vendor/hystmodal/hystmodal.min.css" />
    <link rel="stylesheet" href="/css/utils.css" />
    <link rel="stylesheet" href="/css/site.css" />
    <link rel="stylesheet" href="../css/native-persistence.css" />
    <link rel="stylesheet" href="../css/service.css" />
    <link rel="stylesheet" href="../css/compute-apis.css" />
    <link rel="stylesheet" href="../js/vendor/highlight/night-owl.css" />
    <script src="../js/vendor/highlight/highlight.min.js"></script>
    <script src="../js/vendor/highlight/java.min.js"></script>
    <script src="../js/vendor/highlight/xml.min.js"></script>
    <script src="../js/vendor/highlight/csharp.min.js"></script>
    <link rel="stylesheet" href="/css/media.css" media="only screen and (max-width:1199px)" />
    <link rel="icon" type="image/png" href="/img/favicon.png" />
  </head>
  <body>
    <!-- MOBILE MENU START -->
    <div class="hystmodal" id="jsMenuModal" aria-hidden="true">
      <div class="hystmodal__wrap">
        <div class="hystmodal__window mobmenu" role="dialog" aria-modal="true">
          <button data-hystclose class="hystmodal__close">Close</button>
          <div class="mobmenu__wrap">
            <a href="/" class="mobmenu__logo"><img src="/img/logo.svg" alt="Логотип" /></a>
            <div class="mobmenu__menu">
              <div class="mobmenu__h1 berlin">Navigation</div>
              <ul>
                <li>
                  <a href="/">Get started</a>
                  <ul>
                    <li><a href="/resources.html">Resources</a></li>
                    <li><a href="/faq.html">FAQ</a></li>
                  </ul>
                </li>
                <li>
                  <a href="/features/">Features</a>
                </li>
                <li>
                  <a href="/community.html">Community</a>
                  <ul>
                    <li><a href="/events.html">Events</a></li>
                    <li><a href="/resources.html">Resources</a></li>
                  </ul>
                </li>
                <li>
                  <a href="/use-cases/provenusecases.html">Powered by</a>
                </li>
                <li>
                  <a href="https://ignite.apache.org/docs/latest/">Docs</a>
                </li>
              </ul>
            </div>
            <!-- //mobmenu__menu -->
          </div>
          <!-- //mobmenu__wrap -->
        </div>
        <!-- //mobmenu -->
      </div>
    </div>
    <!-- MOBILE MENU END -->
    <header class="hdr hdr__blue jsHdrBase">
      <div class="hdr__wrap flexi jsHdrLine">
        <button class="hdr__burger" data-menumodal="#jsMenuModal"><img src="/img/menu.svg" alt="" /></button
        ><a class="hdr__logo" href="/"><img class="hdr__logoimg hdr__logo--white" src="/img/logo-white.svg" alt="" /><img class="hdr__logoimg hdr__logo--black" src="/img/logo.svg" alt="" /></a
        ><a class="button hdr__button" href="/download.html">Download Ignite 2.11 </a>
        <nav class="hdrmenu">
          <ul class="flexi">
            <li><a class="hdrmenu--expanded" href="/" data-panel="getStarted">Get started</a></li>
            <li><a class="hdrmenu__current hdrmenu--expanded" href="/features" data-panel="features">Features</a></li>
            <li><a class="hdrmenu--expanded" href="/community.html" data-panel="community">Community</a></li>
            <li><a href="/use-cases/provenusecases.html" data-panel="">Powered by</a></li>
            <li><a href="///ignite.apache.org/docs/latest/" data-panel="">Docs</a></li>
          </ul>
        </nav>
        <div class="dropmenu">
          <div class="dropmenu__panel" data-menupanel="getStarted">
            <div class="container dropmenu1__grid">
              <div class="dropmenu__box dropmenu--left">
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/resources.html"><img src="/img/menu/icon-resources.svg" alt="" /><span>Resources</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/faq.html"><img src="/img/menu/icon-question.svg" alt="" /><span>FAQ</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu1__center">
                <div class="dropmenu__box">
                  <p class="capstext">USE CASES</p>
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-cache.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Cache</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-data-grid.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Data Grid</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/in-memory-database.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>In-Memory Database</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/key-value-store.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Key-Value Store</span></a>
                    </li>
                  </ul>
                </div>
                <div class="dropmenu__box">
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/high-performance-computing.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>High-Performance Computing</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/digital-integration-hub.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Digital Integration Hub</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/spark-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Spark Acceleration</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/use-cases/hadoop-acceleration.html"><img src="/img/menu/icon-folder.svg" alt="" /><span>Hadoop Acceleration</span></a>
                    </li>
                  </ul>
                </div>
              </div>
              <div class="dropmenu1__right">
                <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
              </div>
            </div>
            <!-- /.dropmenu1__grid-->
          </div>
          <!-- /.dropmenu__panel-->
          <div class="dropmenu__panel" data-menupanel="features">
            <div class="container dropmenu2__grid">
              <div class="dropmenu2__col dropmenu__box">
                <div class="capstext">Distributed <br />Multi-Tiered Storage</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/multi-tier-storage.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Multi-Tier Storage</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/arch/native-persistence.html"><img src="/img/menu/icon-db.svg" alt="" /><span>Native Persistence</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu2__col dropmenu__box">
                <div class="capstext">Essentail Developer <br />APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/sql.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Distributed SQL</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/distributed-key-value-store.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Key-Value APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/acid-transactions.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>ACID Transactions</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu2__col dropmenu__box">
                <div class="capstext">High-Performance <br />Computing APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/compute-apis.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Compute APIs</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/servicegrid.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Services</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/features/machinelearning.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Machine Learning</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu2__col dropmenu__box">
                <div class="capstext">Real Streaming APIs</div>
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/features/streaming.html"><img src="/img/menu/icon-cube.svg" alt="" /><span>Streaming</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/messaging"><img src="/img/menu/icon-cube.svg" alt="" /><span>Messaging</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries"><img src="/img/menu/icon-cube.svg" alt="" /><span>Continuous Queries</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu1__right dropmenu2__col">
                <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
              </div>
            </div>
            <!-- /.dropmenu2__grid-->
            <div class="panelmorelinkwrap"><a class="panellink" href="/features/">View all</a></div>
          </div>
          <!-- /.dropmenu__panel-2-->
          <div class="dropmenu__panel" data-menupanel="community">
            <div class="container dropmenu1__grid dropmenu3__grid">
              <div class="dropmenu__box dropmenu--left dropmenu3--left">
                <ul class="dropmenu__menu">
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#story"><img src="/img/menu/icon-clip.svg" alt="" /><span>Apache Ignite Story</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#community"><img src="/img/menu/icon-comment.svg" alt="" /><span>Meet The Community</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#contributing"><img src="/img/menu/icon-puzzle.svg" alt="" /><span>Start Contributing</span></a>
                  </li>
                  <li>
                    <a class="dropmenu__iconitem" href="/community.html#faq"><img src="/img/menu/icon-question.svg" alt="" /><span>Ask A Question</span></a>
                  </li>
                </ul>
              </div>
              <div class="dropmenu1__center">
                <div class="dropmenu__box">
                  <p class="capstext">Events</p>
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/events.html#summit"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Apache Ignite Summit</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/events.html#meetups"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Meetups</span></a>
                    </li>
                  </ul>
                </div>
                <div class="dropmenu__box">
                  <ul class="dropmenu__menu">
                    <li>
                      <a class="dropmenu__iconitem" href="/events.html#upcoming"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Upcoming Events</span></a>
                    </li>
                    <li>
                      <a class="dropmenu__iconitem" href="/events.html#past"><img src="/img/menu/icon-calendar.svg" alt="" /><span>Past Events</span></a>
                    </li>
                  </ul>
                </div>
              </div>
              <div class="dropmenu1__right">
                <a class="dropmenu__redbutton" href="https://ignite.apache.org/docs/latest/"> <img src="/img/menu/icon-red-rocket.svg" alt="" /><span>Quick Start Guide</span></a>
              </div>
            </div>
            <!-- /.dropmenu1__grid-->
          </div>
          <!-- /.dropmenu__panel-->
        </div>
        <!-- /.dropmeu-->
      </div>
    </header>
    <div class="dropmenu__back"></div>
    <header class="hdrfloat hdr__white jsHdrFloatBase"></header>
    <section class="innerhero">
      <div class="container innerhero__cont">
        <div class="innerhero__main">
          <div class="innerhero__pre pb-3">Apache Ignite</div>
          <h1 class="h1 innerhero__h1">Service APIs</h1>
          <div class="innerhero__descr pt-2 h5">
            Deploy your microservices straight on the cluster nodes and<br />
            trigger execution from the application code
          </div>
          <div class="innerhero__action"><a class="button innerhero__button" href="https://ignite.apache.org/docs/latest/index">Start Coding</a></div>
        </div>
        <img class="innerhero__pic innerhero__pic--servicegrid" src="/img/features/service/service-hero.svg" alt="Distributed In-Memory Cache" />
      </div>
    </section>
    <!-- /.innerhero-->
    <section class="service1">
      <div class="container">
        <h2 class="service1__h2">Apache Ignite Service APIs Overview</h2>
        <div class="fz20 service1__text">
          With the services API, you can create and deploy arbitrary services on the cluster. Apache Ignite Service APIs Overview For instance, you may want to implement custom counters, hierarchical maps, or anything that you treat as a
          microservice.
        </div>
      </div>
    </section>
    <!-- /.service1    -->
    <section class="nativecode container jsTabWrap">
      <header class="blockheader blockheader--spl flexi">
        <h2 class="h4 blockheader__left">Use Contemporary Powerful Languages</h2>
        <div class="blockheader__right service-subtextvideo fz20"><p>Microservices APIs supported by Java and С#/.NET</p></div>
      </header>
      <div class="nativecode__tabctrls flexi"><a class="nativecode__link active" href="#" data-tablink="nativeTabJava">Java</a></div>
      <div class="nativecode__tabs">
        <div class="nativecode__tab active" data-tab="nativeTabJava">
          <pre class="nativecode__codebox"> <code class="java">Ignite ignite = Ignition.start();

//get the services interface associated with all server nodes
IgniteServices services = ignite.services();

//start a node singleton
services.deployClusterSingleton("myCounterService", new MyCounterServiceImpl());
</code></pre>
        </div>
      </div>
    </section>
    <!-- /.nativecode-->
    <section class="service2">
      <div class="container">
        <h2 class="service2__h2 h4">Services Deployment Modes</h2>
        <div class="service2__text">Deploy single or many instances of a service on the cluster</div>
        <div class="service2__block">
          <div class="service2item service2item__one flexi">
            <div class="service2item__info">
              <h3 class="service2item__title">Cluster Singleton</h3>
              <p class="service2item__text">The most commonly used feature is to deploy singleton services on the cluster.</p>
              <p class="service2item__text">
                There is only one instance of the service in the cluster, and Ignite guarantees<br />
                that the instance is always available.
              </p>
              <p class="service2item__text">In case the cluster node on which the service is deployed disconnects, Ignite automatically redeploys the instance to another node.</p>
            </div>
            <img class="service2item__image1" src="/img/features/service/one-image.svg" alt="one-image" />
          </div>
          <div class="service2item service2item__two flexi">
            <img class="service2item__image2" src="/img/features/service/two-image.svg" alt="two-image" />
            <div class="service2item__info service2item__info2">
              <h3 class="service2item__title">Node Singleton</h3>
              <p class="service2item__text">
                You can specify your service as part of the node configuration and start<br />
                the service together with the node.
              </p>
              <p class="service2item__text">
                The service is started on each node of the cluster. If the service is a cluster singleton, it is started in the first cluster node, and is redeployed to one <br />of the other nodes if the first node terminates.
              </p>
            </div>
          </div>
        </div>
      </div>
    </section>
    <section class="compute2">
      <div class="container">
        <h2 class="compute2__h2">Benefits Of Apache Ignite Service APIs</h2>
        <div class="compute2__grid">
          <div class="compute2item">
            <div class="compute2-points__item fz20"></div>
            <div class="compute2item__block">
              <h3 class="fz20 compute2item__title">Load balancing</h3>
              <p class="compute2__text">In all cases, other than singleton service deployment, Ignite makes sure that an equal number of services are deployed on each node within the cluster.</p>
              <p class="compute2__text">Whenever cluster topology changes, Ignite will re-evaluate service deployments and may re-deploy an already deployed service on another node for better load balancing.</p>
            </div>
          </div>
          <div class="compute2item">
            <div class="compute2-points__item fz20"></div>
            <div class="compute2item__block">
              <h3 class="fz20 compute2item__title">Fault Tolerance</h3>
              <p class="compute2__text">Ignite always guarantees that services are continuously available, and are deployed according to the specified configuration, regardless of any topology changes or node crashes.</p>
            </div>
          </div>
          <div class="compute2item">
            <div class="compute2-points__item fz20"></div>
            <div class="compute2item__block">
              <h3 class="fz20 compute2item__title">Hot Redeployment</h3>
              <p class="compute2__text">You can update the implementation of a service without stopping the cluster.</p>
              <p class="compute2__text">Use Ignite’s DeploymentSpi configuration to re-deploy services without restarting the cluster.</p>
            </div>
          </div>
        </div>
      </div>
    </section>
    <!-- /.compute2-->
    <section class="native-bottom container">
      <div class="native-bottom__grid">
        <article class="nativebotblock">
          <h3 class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-rocket.svg" alt="" /><span>Ready to Start?</span></h3>
          <p class="nativebotblock__text">Start coding with Ignite Service APIs</p>
          <a class="nativebotblock__link arrowlink" href="https://ignite.apache.org/docs/latest/services/services#re-deploying-services" target="_blank">Performing Service APIs </a>
        </article>
        <article class="nativebotblock nativebotblock--learn">
          <h3 class="h4 nativebotblock__title"><img class="nativebotblock__icon" src="/img/features/native-docs.svg" alt="" /><span>Want to Learn More?</span></h3>
          <p class="nativebotblock__text">Check out a special tutorial that shows how to build and deploy microservices with Ignite Service APIs</p>
          <a class="nativebotblock__link servicenativelink arrowlink" href="https://www.gridgain.com/resources/blog/implementing-microservices-apache-ignite-service-apis-part-iii" target="_blank"
            >Implementing Microservices<br />
            With Apache Ignite Service APIs</a
          >
        </article>
      </div>
    </section>
    <footer class="footer">
      <div class="container footer__top">
        <section class="footer1">
          <a class="footer__title" href="/features/">Features</a>
          <ul class="footer__menu">
            <li><a href="/arch/multi-tier-storage.html">Multi-Tier Storage</a></li>
            <li><a href="/arch/native-persistence.html">Native Persistence</a></li>
            <li><a href="/features/sql.html">Distributed SQL</a></li>
            <li><a href="/features/acid-transactions.html">ACID Transactions</a></li>
            <li><a href="/features/distributed-key-value-store.html">Key Value APIs</a></li>
            <li><a href="/features/compute-apis.html">Compute APIs</a></li>
            <li><a href="/features/machinelearning.html">Machine Learning</a></li>
            <li><a href="/features/servicegrid.html">Services</a></li>
            <li><a href="/features/streaming.html">Streaming</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/key-value-api/continuous-queries">Continuous Queries</a></li>
            <li><a href="https://ignite.apache.org/docs/latest/messaging">Messaging</a></li>
          </ul>
        </section>
        <section class="footer2">
          <a class="footer__title" href="/use-cases/">Use-Cases</a>
          <ul class="footer__menu">
            <li><a href="/use-cases/in-memory-cache.html">In-Memory Cache</a></li>
            <li><a href="/use-cases/in-memory-data-grid.html">In-Memory Data Grid</a></li>
            <li><a href="/use-cases/in-memory-database.html">In-Memory Database</a></li>
            <li><a href="/use-cases/high-performance-computing.html">High-Performance Computing</a></li>
            <li><a href="/use-cases/digital-integration-hub.html">Digital Integration Hub</a></li>
            <li><a href="/use-cases/key-value-store.html">Key-Value Store</a></li>
            <li><a href="/use-cases/spark-acceleration.html">Apache Spark Acceleration</a></li>
            <li><a href="/use-cases/hadoop-acceleration.html">Apache Hadoop Acceleration</a></li>
          </ul>
        </section>
        <section class="footer3"><a class="footer__title" href="/community.html">Community</a><a class="footer__title" href="/resources.html">Resources</a><a class="footer__title" href="/events.html">Events</a></section>
        <section class="footer4">
          <div class="footer4__item">Join Our <a href="mailto:dev@ignite.apache.org">Dev Mailing List</a></div>
          <div class="footer4__item pt-2">Or write your question</div>
          <div class="footer4__item pt-1">user@ignite.apache.org</div>
          <div class="footer4__item pt-5">Follow Us:</div>
          <div class="footer4__socwrap flexi pt-2">
            <a class="footer4__soc" href="https://github.com/apache/ignite" taget="_blank"><img src="/img/icon-github.svg" alt="" /></a
            ><a class="footer4__soc" href="https://www.linkedin.com/showcase/apache-ignite/" taget="_blank"><img src="/img/icon-linkedin.svg" alt="" /></a
            ><a class="footer4__soc" href="https://twitter.com/apacheignite" taget="_blank"><img src="/img/icon-twitter.svg" alt="" /></a>
          </div>
          <a class="footer4__button button" href="https://ignite.apache.org/docs/latest/index">Start using Apache Ignite </a>
        </section>
      </div>
      <div class="container footer__bot">
        <p>© 2015 - 2021 <a href="http://www.apache.org/">The Apache Software Foundation.</a></p>
        <p class="pt-1x">Apache, Apache Ignite, the Apache feather and the Apache Ignite logo are either registered trademarks or trademarks of The Apache Software Foundation</p>
        <p class="pt-1x"><a href="http://apache.org/foundation/policies/privacy.html">Privacy Policy</a></p>
      </div>
    </footer>
    <a class="scrollTop" href="#"
      ><svg class="feather feather-chevron-up" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
        <polyline points="18 15 12 9 6 15"></polyline></svg
    ></a>
    <script src="/js/vendor/hystmodal/hystmodal.min.js"></script>
    <script src="/js/vendor/smoothscroll.js"></script>
    <script src="/js/main.js"></script>
  </body>
</html>
