1
0
mirror of https://github.com/taigrr/nats.docs synced 2026-04-02 03:38:48 -07:00

updating docs

This commit is contained in:
ainsley
2019-09-23 17:51:02 -05:00
parent 98d03750cd
commit 979378c81c
163 changed files with 11005 additions and 553 deletions

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="nsc/revocation.html">
<a href="nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="nsc/managed.html">
<a href="nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2621,7 +2647,7 @@ bcrypt hash: $2a$11$3kIDaCxw.Glsl1.u5nKa6eUnNDLV5HV9tIuUp7EHhMt6Nm9myW1aS
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"mkpasswd","level":"5.1","depth":1,"next":{"title":"nk","level":"5.2","depth":1,"path":"nats_tools/nk.md","ref":"nats_tools/nk.md","articles":[]},"previous":{"title":"Docker Swarm","level":"4.7.2","depth":2,"path":"nats_docker/docker_swarm.md","ref":"nats_docker/docker_swarm.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/mkpasswd.md","mtime":"2019-05-30T22:52:52.331Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"mkpasswd","level":"5.1","depth":1,"next":{"title":"nk","level":"5.2","depth":1,"path":"nats_tools/nk.md","ref":"nats_tools/nk.md","articles":[]},"previous":{"title":"Docker Swarm","level":"4.7.2","depth":2,"path":"nats_docker/docker_swarm.md","ref":"nats_docker/docker_swarm.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/mkpasswd.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2663,7 +2689,7 @@ as_store
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Directory Store","level":"5.4.3","depth":2,"next":{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},"previous":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/dir_store.md","mtime":"2019-05-31T18:29:15.575Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Directory Store","level":"5.4.3","depth":2,"next":{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},"previous":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/dir_store.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -69,7 +69,7 @@
<link rel="next" href="nas_conf.html" />
<link rel="prev" href="../nsc/signing_keys.html" />
<link rel="prev" href="../nsc/managed.html" />
<link rel="stylesheet" href="https://cdn.materialdesignicons.com/3.6.95/css/materialdesignicons.min.css">
@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2592,7 +2618,7 @@
<a href="../nsc/signing_keys.html" class="navigation navigation-prev " aria-label="Previous page: Signing Keys">
<a href="../nsc/managed.html" class="navigation navigation-prev " aria-label="Previous page: Managed Operators">
<i class="fa fa-angle-left"></i>
</a>
@@ -2608,7 +2634,7 @@
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"nats-account-server","level":"5.4","depth":1,"next":{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},"previous":{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/README.md","mtime":"2019-05-31T18:06:29.024Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"nats-account-server","level":"5.4","depth":1,"next":{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},"previous":{"title":"Managed Operators","level":"5.3.6","depth":2,"path":"nats_tools/nsc/managed.md","ref":"nats_tools/nsc/managed.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/README.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2629,7 +2655,7 @@
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"next":{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},"previous":{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/inspecting_jwts.md","mtime":"2019-05-30T22:52:52.332Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"next":{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},"previous":{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/inspecting_jwts.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2680,7 +2706,7 @@ Published [hello] : &apos;world&apos;
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Memory Resolver","level":"5.4.5","depth":2,"next":{"title":"nats-top","level":"5.5","depth":1,"path":"nats_tools/nats_top/README.md","ref":"nats_tools/nats_top/README.md","articles":[{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]}]},"previous":{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/mem_resolver.md","mtime":"2019-06-04T14:29:14.195Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Memory Resolver","level":"5.4.5","depth":2,"next":{"title":"nats-top","level":"5.5","depth":1,"path":"nats_tools/nats_top/README.md","ref":"nats_tools/nats_top/README.md","articles":[{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]}]},"previous":{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/mem_resolver.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2851,7 +2877,7 @@ resolver: URL(http://localhost:9090/jwt/v1/accounts/)
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.4.1","depth":2,"next":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"previous":{"title":"nats-account-server","level":"5.4","depth":1,"path":"nats_tools/nas/README.md","ref":"nats_tools/nas/README.md","articles":[{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/nas_conf.md","mtime":"2019-05-31T18:06:29.024Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.4.1","depth":2,"next":{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},"previous":{"title":"nats-account-server","level":"5.4","depth":1,"path":"nats_tools/nas/README.md","ref":"nats_tools/nas/README.md","articles":[{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/nas_conf.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2671,7 +2697,7 @@ successfully pushed all accounts [A, B, SYS]
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Update Notifications","level":"5.4.4","depth":2,"next":{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]},"previous":{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/notifications.md","mtime":"2019-06-04T14:29:14.195Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Update Notifications","level":"5.4.4","depth":2,"next":{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]},"previous":{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nas/notifications.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2557,18 +2583,18 @@
<p>The nats-top tool provides a dynamic real-time view of a NATS server. nats-top can display a variety of system summary information about the NATS server, such as subscription, pending bytes, number of messages, and more, in real time. For example:</p>
<pre class="language-"><code class="lang-sh">nats-top
nats-server version 0.6.4 <span class="token punctuation">(</span>uptime: 31m42s<span class="token punctuation">)</span>
nats-server version <span class="token number">0.6</span>.4 <span class="token punctuation">(</span>uptime: 31m42s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.8% Memory: 5.9M Slow Consumers: 0
In: Msgs: 34.2K Bytes: 3.0M Msgs/Sec: 37.9 Bytes/Sec: 3389.7
Out: Msgs: 68.3K Bytes: 6.0M Msgs/Sec: 75.8 Bytes/Sec: 6779.4
Load: CPU: <span class="token number">0.8</span>% Memory: <span class="token number">5</span>.9M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">34</span>.2K Bytes: <span class="token number">3</span>.0M Msgs/Sec: <span class="token number">37.9</span> Bytes/Sec: <span class="token number">3389.7</span>
Out: Msgs: <span class="token number">68</span>.3K Bytes: <span class="token number">6</span>.0M Msgs/Sec: <span class="token number">75.8</span> Bytes/Sec: <span class="token number">6779.4</span>
Connections: 4
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION SUBSCRIPTIONS
127.0.0.1:56134 2 5 0 11.6K 11.6K 1.1M 905.1K go 1.1.0 foo, hello
127.0.1.1:56138 3 1 0 34.2K 0 3.0M 0 go 1.1.0 _INBOX.a96f3f6853616154d23d1b5072
127.0.0.1:56144 4 5 0 11.2K 11.1K 873.5K 1.1M go 1.1.0 foo, hello
127.0.0.1:56151 5 8 0 11.4K 11.5K 1014.6K 1.0M go 1.1.0 foo, hello
Connections: <span class="token number">4</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION SUBSCRIPTIONS
<span class="token number">127.0</span>.0.1:56134 <span class="token number">2</span> <span class="token number">5</span> <span class="token number">0</span> <span class="token number">11</span>.6K <span class="token number">11</span>.6K <span class="token number">1</span>.1M <span class="token number">905</span>.1K go <span class="token number">1.1</span>.0 foo, hello
<span class="token number">127.0</span>.1.1:56138 <span class="token number">3</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">34</span>.2K <span class="token number">0</span> <span class="token number">3</span>.0M <span class="token number">0</span> go <span class="token number">1.1</span>.0 _INBOX.a96f3f6853616154d23d1b5072
<span class="token number">127.0</span>.0.1:56144 <span class="token number">4</span> <span class="token number">5</span> <span class="token number">0</span> <span class="token number">11</span>.2K <span class="token number">11</span>.1K <span class="token number">873</span>.5K <span class="token number">1</span>.1M go <span class="token number">1.1</span>.0 foo, hello
<span class="token number">127.0</span>.0.1:56151 <span class="token number">5</span> <span class="token number">8</span> <span class="token number">0</span> <span class="token number">11</span>.4K <span class="token number">11</span>.5K <span class="token number">1014</span>.6K <span class="token number">1</span>.0M go <span class="token number">1.1</span>.0 foo, hello
</code></pre>
<h2 id="installation"><a name="installation" class="plugin-anchor" href="#installation"><i class="fa fa-link" aria-hidden="true"></i></a>Installation</h2>
<p>nats-top can be installed using <code>go get</code>. For example:</p>
@@ -2665,7 +2691,7 @@ Connections: 4
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"nats-top","level":"5.5","depth":1,"next":{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]},"previous":{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nats_top/README.md","mtime":"2019-05-30T22:52:52.332Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"nats-top","level":"5.5","depth":1,"next":{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]},"previous":{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nats_top/README.md","mtime":"2019-09-23T22:49:18.494Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="../nsc/revocation.html">
<a href="../nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="../nsc/managed.html">
<a href="../nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2566,50 +2592,50 @@
<pre class="language-"><code class="lang-sh">% <span class="token function">sudo</span> -E go get github.com/nats-io/nats-top
</code></pre>
<h4 id="2-start-the-nats-server-with-monitoring-enabled"><a name="2-start-the-nats-server-with-monitoring-enabled" class="plugin-anchor" href="#2-start-the-nats-server-with-monitoring-enabled"><i class="fa fa-link" aria-hidden="true"></i></a>2. Start the NATS server with monitoring enabled</h4>
<pre class="language-"><code class="lang-sh">% nats-server -m 8222
<pre class="language-"><code class="lang-sh">% nats-server -m <span class="token number">8222</span>
</code></pre>
<h4 id="3-start-nats-top"><a name="3-start-nats-top" class="plugin-anchor" href="#3-start-nats-top"><i class="fa fa-link" aria-hidden="true"></i></a>3. Start nats-top</h4>
<pre class="language-"><code class="lang-sh">% nats-top
</code></pre>
<p>Result:</p>
<pre class="language-"><code class="lang-sh">nats-server version 0.6.6 <span class="token punctuation">(</span>uptime: 2m2s<span class="token punctuation">)</span>
<pre class="language-"><code class="lang-sh">nats-server version <span class="token number">0.6</span>.6 <span class="token punctuation">(</span>uptime: 2m2s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.0% Memory: 6.3M Slow Consumers: 0
In: Msgs: 0 Bytes: 0 Msgs/Sec: 0.0 Bytes/Sec: 0
Out: Msgs: 0 Bytes: 0 Msgs/Sec: 0.0 Bytes/Sec: 0
Load: CPU: <span class="token number">0.0</span>% Memory: <span class="token number">6</span>.3M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">0</span> Bytes: <span class="token number">0</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Out: Msgs: <span class="token number">0</span> Bytes: <span class="token number">0</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Connections: 0
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION
Connections: <span class="token number">0</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION
</code></pre>
<h4 id="4-run-nats-client-programs"><a name="4-run-nats-client-programs" class="plugin-anchor" href="#4-run-nats-client-programs"><i class="fa fa-link" aria-hidden="true"></i></a>4. Run NATS client programs</h4>
<p>Run some NATS client programs and exchange messages.</p>
<p>For the best experience, you will want to run multiple subscribers, at least 2 or 3. Refer to the <a href="../../nats_server/clients.html">example pub-sub clients</a>.</p>
<h4 id="5-check-nats-top-for-statistics"><a name="5-check-nats-top-for-statistics" class="plugin-anchor" href="#5-check-nats-top-for-statistics"><i class="fa fa-link" aria-hidden="true"></i></a>5. Check nats-top for statistics</h4>
<pre class="language-"><code class="lang-sh">nats-server version 0.6.6 <span class="token punctuation">(</span>uptime: 30m51s<span class="token punctuation">)</span>
<pre class="language-"><code class="lang-sh">nats-server version <span class="token number">0.6</span>.6 <span class="token punctuation">(</span>uptime: 30m51s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.0% Memory: 10.3M Slow Consumers: 0
In: Msgs: 56 Bytes: 302 Msgs/Sec: 0.0 Bytes/Sec: 0
Out: Msgs: 98 Bytes: 512 Msgs/Sec: 0.0 Bytes/Sec: 0
Load: CPU: <span class="token number">0.0</span>% Memory: <span class="token number">10</span>.3M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">56</span> Bytes: <span class="token number">302</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Out: Msgs: <span class="token number">98</span> Bytes: <span class="token number">512</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Connections: 3
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION
::1:58651 6 1 0 52 0 260 0 go 1.1.0
::1:58922 38 1 0 21 0 105 0 go 1.1.0
::1:58953 39 1 0 21 0 105 0 go 1.1.0
Connections: <span class="token number">3</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION
::1:58651 <span class="token number">6</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">52</span> <span class="token number">0</span> <span class="token number">260</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
::1:58922 <span class="token number">38</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">21</span> <span class="token number">0</span> <span class="token number">105</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
::1:58953 <span class="token number">39</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">21</span> <span class="token number">0</span> <span class="token number">105</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
</code></pre>
<h4 id="6-sort-nats-top-statistics"><a name="6-sort-nats-top-statistics" class="plugin-anchor" href="#6-sort-nats-top-statistics"><i class="fa fa-link" aria-hidden="true"></i></a>6. Sort nats-top statistics</h4>
<p>In nats-top, enter the command <code>o</code> followed by the option, such as <code>bytes_to</code>. You see that nats-top sorts the BYTES_TO column in ascending order.</p>
<pre class="language-"><code class="lang-sh">nats-server version 0.6.6 <span class="token punctuation">(</span>uptime: 45m40s<span class="token punctuation">)</span>
<pre class="language-"><code class="lang-sh">nats-server version <span class="token number">0.6</span>.6 <span class="token punctuation">(</span>uptime: 45m40s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.0% Memory: 10.4M Slow Consumers: 0
In: Msgs: 81 Bytes: 427 Msgs/Sec: 0.0 Bytes/Sec: 0
Out: Msgs: 154 Bytes: 792 Msgs/Sec: 0.0 Bytes/Sec: 0
Load: CPU: <span class="token number">0.0</span>% Memory: <span class="token number">10</span>.4M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">81</span> Bytes: <span class="token number">427</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Out: Msgs: <span class="token number">154</span> Bytes: <span class="token number">792</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
<span class="token function">sort</span> by <span class="token punctuation">[</span>bytes_to<span class="token punctuation">]</span>:
Connections: 3
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION
::1:59259 83 1 0 4 0 20 0 go 1.1.0
::1:59349 91 1 0 2 0 10 0 go 1.1.0
::1:59342 90 1 0 0 0 0 0 go 1.1.0
Connections: <span class="token number">3</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION
::1:59259 <span class="token number">83</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">4</span> <span class="token number">0</span> <span class="token number">20</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
::1:59349 <span class="token number">91</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">2</span> <span class="token number">0</span> <span class="token number">10</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
::1:59342 <span class="token number">90</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
</code></pre>
<h4 id="7-use-different-sort-options"><a name="7-use-different-sort-options" class="plugin-anchor" href="#7-use-different-sort-options"><i class="fa fa-link" aria-hidden="true"></i></a>7. Use different sort options</h4>
<p>Use some different sort options to explore nats-top, such as:</p>
@@ -2617,34 +2643,34 @@ Connections: 3
<p>You can also set the sort option on the command line using the <code>-sort</code> flag. For example: <code>nats-top -sort bytes_to</code>.</p>
<h4 id="8-display-the-registered-subscriptions"><a name="8-display-the-registered-subscriptions" class="plugin-anchor" href="#8-display-the-registered-subscriptions"><i class="fa fa-link" aria-hidden="true"></i></a>8. Display the registered subscriptions.</h4>
<p>In nats-top, enter the command <code>s</code> to toggle displaying connection subscriptions. When enabled, you see the subscription subject in nats-top table:</p>
<pre class="language-"><code class="lang-sh">nats-server version 0.6.6 <span class="token punctuation">(</span>uptime: 1h2m23s<span class="token punctuation">)</span>
<pre class="language-"><code class="lang-sh">nats-server version <span class="token number">0.6</span>.6 <span class="token punctuation">(</span>uptime: 1h2m23s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.0% Memory: 10.4M Slow Consumers: 0
In: Msgs: 108 Bytes: 643 Msgs/Sec: 0.0 Bytes/Sec: 0
Out: Msgs: 185 Bytes: 1.0K Msgs/Sec: 0.0 Bytes/Sec: 0
Load: CPU: <span class="token number">0.0</span>% Memory: <span class="token number">10</span>.4M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">108</span> Bytes: <span class="token number">643</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Out: Msgs: <span class="token number">185</span> Bytes: <span class="token number">1</span>.0K Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Connections: 3
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION SUBSCRIPTIONS
::1:59708 115 1 0 6 0 48 0 go 1.1.0 foo.bar
::1:59758 122 1 0 1 0 8 0 go 1.1.0 foo
::1:59817 124 1 0 0 0 0 0 go 1.1.0 foo
Connections: <span class="token number">3</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION SUBSCRIPTIONS
::1:59708 <span class="token number">115</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">6</span> <span class="token number">0</span> <span class="token number">48</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0 foo.bar
::1:59758 <span class="token number">122</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">8</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0 foo
::1:59817 <span class="token number">124</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0 foo
</code></pre>
<h4 id="9-quit-nats-top"><a name="9-quit-nats-top" class="plugin-anchor" href="#9-quit-nats-top"><i class="fa fa-link" aria-hidden="true"></i></a>9. Quit nats-top</h4>
<p>Use the <code>q</code> command to quit nats-top.</p>
<h4 id="10-restart-nats-top-with-a-specified-query"><a name="10-restart-nats-top-with-a-specified-query" class="plugin-anchor" href="#10-restart-nats-top-with-a-specified-query"><i class="fa fa-link" aria-hidden="true"></i></a>10. Restart nats-top with a specified query</h4>
<p>For example, to query for the connection with largest number of subscriptions:</p>
<pre class="language-"><code class="lang-sh">% nats-top -n 1 -sort subs
<pre class="language-"><code class="lang-sh">% nats-top -n <span class="token number">1</span> -sort subs
</code></pre>
<p>Result: nats-top displays only the client connection with the largest number of subscriptions:</p>
<pre class="language-"><code class="lang-sh">nats-server version 0.6.6 <span class="token punctuation">(</span>uptime: 1h7m0s<span class="token punctuation">)</span>
<pre class="language-"><code class="lang-sh">nats-server version <span class="token number">0.6</span>.6 <span class="token punctuation">(</span>uptime: 1h7m0s<span class="token punctuation">)</span>
Server:
Load: CPU: 0.0% Memory: 10.4M Slow Consumers: 0
In: Msgs: 109 Bytes: 651 Msgs/Sec: 0.0 Bytes/Sec: 0
Out: Msgs: 187 Bytes: 1.0K Msgs/Sec: 0.0 Bytes/Sec: 0
Load: CPU: <span class="token number">0.0</span>% Memory: <span class="token number">10</span>.4M Slow Consumers: <span class="token number">0</span>
In: Msgs: <span class="token number">109</span> Bytes: <span class="token number">651</span> Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Out: Msgs: <span class="token number">187</span> Bytes: <span class="token number">1</span>.0K Msgs/Sec: <span class="token number">0.0</span> Bytes/Sec: <span class="token number">0</span>
Connections: 3
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM LANG VERSION
::1:59708 115 1 0 6 0 48 0 go 1.1.0
Connections: <span class="token number">3</span>
HOST CID SUBS PENDING MSGS_TO MSGS_FROM BYTES_TO BYTES_FROM <span class="token environment constant">LANG</span> VERSION
::1:59708 <span class="token number">115</span> <span class="token number">1</span> <span class="token number">0</span> <span class="token number">6</span> <span class="token number">0</span> <span class="token number">48</span> <span class="token number">0</span> go <span class="token number">1.1</span>.0
</code></pre>
@@ -2689,7 +2715,7 @@ Connections: 3
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Tutorial","level":"5.5.1","depth":2,"next":{"title":"nats-bench","level":"5.6","depth":1,"path":"nats_tools/natsbench.md","ref":"nats_tools/natsbench.md","articles":[]},"previous":{"title":"nats-top","level":"5.5","depth":1,"path":"nats_tools/nats_top/README.md","ref":"nats_tools/nats_top/README.md","articles":[{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nats_top/nats-top-tutorial.md","mtime":"2019-06-25T14:14:34.661Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Tutorial","level":"5.5.1","depth":2,"next":{"title":"nats-bench","level":"5.6","depth":1,"path":"nats_tools/natsbench.md","ref":"nats_tools/natsbench.md","articles":[]},"previous":{"title":"nats-top","level":"5.5","depth":1,"path":"nats_tools/nats_top/README.md","ref":"nats_tools/nats_top/README.md","articles":[{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nats_top/nats-top-tutorial.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="nsc/revocation.html">
<a href="nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="nsc/managed.html">
<a href="nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2560,13 +2586,13 @@
<li><a href="../nats_server/installation.html">Install the NATS server</a></li>
</ul>
<h4 id="start-the-nats-server-with-monitoring-enabled"><a name="start-the-nats-server-with-monitoring-enabled" class="plugin-anchor" href="#start-the-nats-server-with-monitoring-enabled"><i class="fa fa-link" aria-hidden="true"></i></a>Start the NATS server with monitoring enabled</h4>
<pre class="language-"><code class="lang-sh">% nats-server -m 8222
<pre class="language-"><code class="lang-sh">% nats-server -m <span class="token number">8222</span>
</code></pre>
<p>Verify that the NATS server starts successfully, as well as the HTTP monitor:</p>
<pre class="language-"><code class="lang-sh"><span class="token punctuation">[</span>18541<span class="token punctuation">]</span> 2016/10/31 13:26:32.037819 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting nats-server version 0.9.4
<span class="token punctuation">[</span>18541<span class="token punctuation">]</span> 2016/10/31 13:26:32.037912 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting http monitor on 0.0.0.0:8222
<span class="token punctuation">[</span>18541<span class="token punctuation">]</span> 2016/10/31 13:26:32.037997 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Listening <span class="token keyword">for</span> client connections on 0.0.0.0:4222
<span class="token punctuation">[</span>18541<span class="token punctuation">]</span> 2016/10/31 13:26:32.038020 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Server is ready
<pre class="language-"><code class="lang-sh"><span class="token punctuation">[</span><span class="token number">18541</span><span class="token punctuation">]</span> <span class="token number">2016</span>/10/31 <span class="token number">13</span>:26:32.037819 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting nats-server version <span class="token number">0.9</span>.4
<span class="token punctuation">[</span><span class="token number">18541</span><span class="token punctuation">]</span> <span class="token number">2016</span>/10/31 <span class="token number">13</span>:26:32.037912 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Starting http monitor on <span class="token number">0.0</span>.0.0:8222
<span class="token punctuation">[</span><span class="token number">18541</span><span class="token punctuation">]</span> <span class="token number">2016</span>/10/31 <span class="token number">13</span>:26:32.037997 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Listening <span class="token keyword">for</span> client connections on <span class="token number">0.0</span>.0.0:4222
<span class="token punctuation">[</span><span class="token number">18541</span><span class="token punctuation">]</span> <span class="token number">2016</span>/10/31 <span class="token number">13</span>:26:32.038020 <span class="token punctuation">[</span>INF<span class="token punctuation">]</span> Server is ready
</code></pre>
<h4 id="installing-and-running-the-benchmark-utility"><a name="installing-and-running-the-benchmark-utility" class="plugin-anchor" href="#installing-and-running-the-benchmark-utility"><i class="fa fa-link" aria-hidden="true"></i></a>Installing and running the benchmark utility</h4>
<p>The NATS benchmark can be installed and run via Go. Ensure your golang environment is setup.</p>
@@ -2585,67 +2611,67 @@ Usage: nats-bench <span class="token punctuation">[</span>-s server <span class=
<p>The options are self-explanatory. Each publisher or subscriber runs in its own go routine with its own NATS connection.</p>
<h4 id="run-a-publisher-throughput-test"><a name="run-a-publisher-throughput-test" class="plugin-anchor" href="#run-a-publisher-throughput-test"><i class="fa fa-link" aria-hidden="true"></i></a>Run a publisher throughput test</h4>
<p>Let&apos;s run a test to see how fast a single publisher can publish one million 16 byte messages to the NATS server.</p>
<pre class="language-"><code class="lang-sh">% nats-bench -np 1 -n 100000 -ms 16 foo
<pre class="language-"><code class="lang-sh">% nats-bench -np <span class="token number">1</span> -n <span class="token number">100000</span> -ms <span class="token number">16</span> foo
</code></pre>
<p>The output tells you the number of messages and the number of payload bytes that the client was able to publish per second:</p>
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span>100000, msgsize<span class="token operator">=</span>16, pubs<span class="token operator">=</span>1, subs<span class="token operator">=</span>0<span class="token punctuation">]</span>
Pub stats: 7,055,644 msgs/sec ~ 107.66 MB/sec
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span><span class="token number">100000</span>, <span class="token assign-left variable">msgsize</span><span class="token operator">=</span><span class="token number">16</span>, <span class="token assign-left variable">pubs</span><span class="token operator">=</span><span class="token number">1</span>, <span class="token assign-left variable">subs</span><span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">]</span>
Pub stats: <span class="token number">7,055</span>,644 msgs/sec ~ <span class="token number">107.66</span> MB/sec
</code></pre>
<p>Now increase the number of messages published:</p>
<pre class="language-"><code class="lang-sh">% nats-bench -np 1 -n 10000000 -ms 16 foo
Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span>10000000, msgsize<span class="token operator">=</span>16, pubs<span class="token operator">=</span>1, subs<span class="token operator">=</span>0<span class="token punctuation">]</span>
Pub stats: 7,671,570 msgs/sec ~ 117.06 MB/sec
<pre class="language-"><code class="lang-sh">% nats-bench -np <span class="token number">1</span> -n <span class="token number">10000000</span> -ms <span class="token number">16</span> foo
Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span><span class="token number">10000000</span>, <span class="token assign-left variable">msgsize</span><span class="token operator">=</span><span class="token number">16</span>, <span class="token assign-left variable">pubs</span><span class="token operator">=</span><span class="token number">1</span>, <span class="token assign-left variable">subs</span><span class="token operator">=</span><span class="token number">0</span><span class="token punctuation">]</span>
Pub stats: <span class="token number">7,671</span>,570 msgs/sec ~ <span class="token number">117.06</span> MB/sec
</code></pre>
<h4 id="run-a-publishsubscribe-throughput-test"><a name="run-a-publishsubscribe-throughput-test" class="plugin-anchor" href="#run-a-publishsubscribe-throughput-test"><i class="fa fa-link" aria-hidden="true"></i></a>Run a publish/subscribe throughput test</h4>
<p>When using both publishers and subscribers, <code>nats-bench</code> reports aggregate, as well as individual publish and subscribe throughput performance.</p>
<p>Let&apos;s look at throughput for a single publisher with a single subscriber:</p>
<pre class="language-"><code class="lang-sh">% nats-bench -np 1 -ns 1 -n 100000 -ms 16 foo
<pre class="language-"><code class="lang-sh">% nats-bench -np <span class="token number">1</span> -ns <span class="token number">1</span> -n <span class="token number">100000</span> -ms <span class="token number">16</span> foo
</code></pre>
<p>Note that the output shows the aggregate throughput as well as the individual publisher and subscriber performance:</p>
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span>100000, msgsize<span class="token operator">=</span>16, pubs<span class="token operator">=</span>1, subs<span class="token operator">=</span>1<span class="token punctuation">]</span>
NATS Pub/Sub stats: 2,009,230 msgs/sec ~ 30.66 MB/sec
Pub stats: 1,076,537 msgs/sec ~ 16.43 MB/sec
Sub stats: 1,004,615 msgs/sec ~ 15.33 MB/sec
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span><span class="token number">100000</span>, <span class="token assign-left variable">msgsize</span><span class="token operator">=</span><span class="token number">16</span>, <span class="token assign-left variable">pubs</span><span class="token operator">=</span><span class="token number">1</span>, <span class="token assign-left variable">subs</span><span class="token operator">=</span><span class="token number">1</span><span class="token punctuation">]</span>
NATS Pub/Sub stats: <span class="token number">2,009</span>,230 msgs/sec ~ <span class="token number">30.66</span> MB/sec
Pub stats: <span class="token number">1,076</span>,537 msgs/sec ~ <span class="token number">16.43</span> MB/sec
Sub stats: <span class="token number">1,004</span>,615 msgs/sec ~ <span class="token number">15.33</span> MB/sec
</code></pre>
<h4 id="run-a-1n-throughput-test"><a name="run-a-1n-throughput-test" class="plugin-anchor" href="#run-a-1n-throughput-test"><i class="fa fa-link" aria-hidden="true"></i></a>Run a 1:N throughput test</h4>
<p>When specifying multiple publishers, or multiple subscribers, <code>nats-bench</code> will also report statistics for each publisher and subscriber individually, along with min/max/avg and standard deviation.</p>
<p>Let&apos;s increase both the number of messages, and the number of subscribers.:</p>
<pre class="language-"><code class="lang-sh">% nats-bench -np 1 -ns 5 -n 10000000 -ms 16 foo
<pre class="language-"><code class="lang-sh">% nats-bench -np <span class="token number">1</span> -ns <span class="token number">5</span> -n <span class="token number">10000000</span> -ms <span class="token number">16</span> foo
</code></pre>
<p>Output:</p>
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span>10000000, msgsize<span class="token operator">=</span>16, pubs<span class="token operator">=</span>1, subs<span class="token operator">=</span>5<span class="token punctuation">]</span>
NATS Pub/Sub stats: 5,730,851 msgs/sec ~ 87.45 MB/sec
Pub stats: 955,279 msgs/sec ~ 14.58 MB/sec
Sub stats: 4,775,709 msgs/sec ~ 72.87 MB/sec
<span class="token punctuation">[</span>1<span class="token punctuation">]</span> 955,157 msgs/sec ~ 14.57 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>2<span class="token punctuation">]</span> 955,150 msgs/sec ~ 14.57 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>3<span class="token punctuation">]</span> 955,157 msgs/sec ~ 14.57 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>4<span class="token punctuation">]</span> 955,156 msgs/sec ~ 14.57 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>5<span class="token punctuation">]</span> 955,153 msgs/sec ~ 14.57 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
min 955,150 <span class="token operator">|</span> avg 955,154 <span class="token operator">|</span> max 955,157 <span class="token operator">|</span> stddev 2 msgs
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span><span class="token number">10000000</span>, <span class="token assign-left variable">msgsize</span><span class="token operator">=</span><span class="token number">16</span>, <span class="token assign-left variable">pubs</span><span class="token operator">=</span><span class="token number">1</span>, <span class="token assign-left variable">subs</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">]</span>
NATS Pub/Sub stats: <span class="token number">5,730</span>,851 msgs/sec ~ <span class="token number">87.45</span> MB/sec
Pub stats: <span class="token number">955,279</span> msgs/sec ~ <span class="token number">14.58</span> MB/sec
Sub stats: <span class="token number">4,775</span>,709 msgs/sec ~ <span class="token number">72.87</span> MB/sec
<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token number">955,157</span> msgs/sec ~ <span class="token number">14.57</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token number">955,150</span> msgs/sec ~ <span class="token number">14.57</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token number">955,157</span> msgs/sec ~ <span class="token number">14.57</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span> <span class="token number">955,156</span> msgs/sec ~ <span class="token number">14.57</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span> <span class="token number">955,153</span> msgs/sec ~ <span class="token number">14.57</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
min <span class="token number">955,150</span> <span class="token operator">|</span> avg <span class="token number">955,154</span> <span class="token operator">|</span> max <span class="token number">955,157</span> <span class="token operator">|</span> stddev <span class="token number">2</span> msgs
</code></pre>
<h4 id="run-a-nm-throughput-test"><a name="run-a-nm-throughput-test" class="plugin-anchor" href="#run-a-nm-throughput-test"><i class="fa fa-link" aria-hidden="true"></i></a>Run a N:M throughput test</h4>
<p>When more than 1 publisher is specified, <code>nats-bench</code> evenly distributes the total number of messages (<code>-n</code>) across the number of publishers (<code>-np</code>). </p>
<p>Now let&apos;s increase the number of publishers and examine the output:</p>
<pre class="language-"><code class="lang-sh">% nats-bench -np 5 -ns 5 -n 10000000 -ms 16 foo
<pre class="language-"><code class="lang-sh">% nats-bench -np <span class="token number">5</span> -ns <span class="token number">5</span> -n <span class="token number">10000000</span> -ms <span class="token number">16</span> foo
</code></pre>
<p>The output:</p>
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span>10000000, msgsize<span class="token operator">=</span>16, pubs<span class="token operator">=</span>5, subs<span class="token operator">=</span>5<span class="token punctuation">]</span>
NATS Pub/Sub stats: 6,716,465 msgs/sec ~ 102.49 MB/sec
Pub stats: 1,119,653 msgs/sec ~ 17.08 MB/sec
<span class="token punctuation">[</span>1<span class="token punctuation">]</span> 226,395 msgs/sec ~ 3.45 MB/sec <span class="token punctuation">(</span>2000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>2<span class="token punctuation">]</span> 225,955 msgs/sec ~ 3.45 MB/sec <span class="token punctuation">(</span>2000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>3<span class="token punctuation">]</span> 225,889 msgs/sec ~ 3.45 MB/sec <span class="token punctuation">(</span>2000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>4<span class="token punctuation">]</span> 224,552 msgs/sec ~ 3.43 MB/sec <span class="token punctuation">(</span>2000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>5<span class="token punctuation">]</span> 223,933 msgs/sec ~ 3.42 MB/sec <span class="token punctuation">(</span>2000000 msgs<span class="token punctuation">)</span>
min 223,933 <span class="token operator">|</span> avg 225,344 <span class="token operator">|</span> max 226,395 <span class="token operator">|</span> stddev 937 msgs
Sub stats: 5,597,054 msgs/sec ~ 85.40 MB/sec
<span class="token punctuation">[</span>1<span class="token punctuation">]</span> 1,119,461 msgs/sec ~ 17.08 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>2<span class="token punctuation">]</span> 1,119,466 msgs/sec ~ 17.08 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>3<span class="token punctuation">]</span> 1,119,444 msgs/sec ~ 17.08 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>4<span class="token punctuation">]</span> 1,119,444 msgs/sec ~ 17.08 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span>5<span class="token punctuation">]</span> 1,119,430 msgs/sec ~ 17.08 MB/sec <span class="token punctuation">(</span>10000000 msgs<span class="token punctuation">)</span>
min 1,119,430 <span class="token operator">|</span> avg 1,119,449 <span class="token operator">|</span> max 1,119,466 <span class="token operator">|</span> stddev 12 msgs
<pre class="language-"><code class="lang-sh">Starting benchmark <span class="token punctuation">[</span>msgs<span class="token operator">=</span><span class="token number">10000000</span>, <span class="token assign-left variable">msgsize</span><span class="token operator">=</span><span class="token number">16</span>, <span class="token assign-left variable">pubs</span><span class="token operator">=</span><span class="token number">5</span>, <span class="token assign-left variable">subs</span><span class="token operator">=</span><span class="token number">5</span><span class="token punctuation">]</span>
NATS Pub/Sub stats: <span class="token number">6,716</span>,465 msgs/sec ~ <span class="token number">102.49</span> MB/sec
Pub stats: <span class="token number">1,119</span>,653 msgs/sec ~ <span class="token number">17.08</span> MB/sec
<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token number">226,395</span> msgs/sec ~ <span class="token number">3.45</span> MB/sec <span class="token punctuation">(</span><span class="token number">2000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token number">225,955</span> msgs/sec ~ <span class="token number">3.45</span> MB/sec <span class="token punctuation">(</span><span class="token number">2000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token number">225,889</span> msgs/sec ~ <span class="token number">3.45</span> MB/sec <span class="token punctuation">(</span><span class="token number">2000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span> <span class="token number">224,552</span> msgs/sec ~ <span class="token number">3.43</span> MB/sec <span class="token punctuation">(</span><span class="token number">2000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span> <span class="token number">223,933</span> msgs/sec ~ <span class="token number">3.42</span> MB/sec <span class="token punctuation">(</span><span class="token number">2000000</span> msgs<span class="token punctuation">)</span>
min <span class="token number">223,933</span> <span class="token operator">|</span> avg <span class="token number">225,344</span> <span class="token operator">|</span> max <span class="token number">226,395</span> <span class="token operator">|</span> stddev <span class="token number">937</span> msgs
Sub stats: <span class="token number">5,597</span>,054 msgs/sec ~ <span class="token number">85.40</span> MB/sec
<span class="token punctuation">[</span><span class="token number">1</span><span class="token punctuation">]</span> <span class="token number">1,119</span>,461 msgs/sec ~ <span class="token number">17.08</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">2</span><span class="token punctuation">]</span> <span class="token number">1,119</span>,466 msgs/sec ~ <span class="token number">17.08</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">3</span><span class="token punctuation">]</span> <span class="token number">1,119</span>,444 msgs/sec ~ <span class="token number">17.08</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">4</span><span class="token punctuation">]</span> <span class="token number">1,119</span>,444 msgs/sec ~ <span class="token number">17.08</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
<span class="token punctuation">[</span><span class="token number">5</span><span class="token punctuation">]</span> <span class="token number">1,119</span>,430 msgs/sec ~ <span class="token number">17.08</span> MB/sec <span class="token punctuation">(</span><span class="token number">10000000</span> msgs<span class="token punctuation">)</span>
min <span class="token number">1,119</span>,430 <span class="token operator">|</span> avg <span class="token number">1,119</span>,449 <span class="token operator">|</span> max <span class="token number">1,119</span>,466 <span class="token operator">|</span> stddev <span class="token number">12</span> msgs
</code></pre>
@@ -2690,7 +2716,7 @@ NATS Pub/Sub stats: 6,716,465 msgs/sec ~ 102.49 MB/sec
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"nats-bench","level":"5.6","depth":1,"next":{"title":"Introduction","level":"6.1","depth":1,"path":"nats_streaming/intro.md","ref":"nats_streaming/intro.md","articles":[]},"previous":{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/natsbench.md","mtime":"2019-06-14T15:52:25.560Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"nats-bench","level":"5.6","depth":1,"next":{"title":"Introduction","level":"6.1","depth":1,"path":"nats_streaming/intro.md","ref":"nats_streaming/intro.md","articles":[]},"previous":{"title":"Tutorial","level":"5.5.1","depth":2,"path":"nats_tools/nats_top/nats-top-tutorial.md","ref":"nats_tools/nats_top/nats-top-tutorial.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/natsbench.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="nsc/revocation.html">
<a href="nsc/revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="nsc/managed.html">
<a href="nsc/managed.html">
Managed Operators
</a>
</li>
@@ -2612,7 +2638,7 @@ UDXU4RCSJNZOIQHZNWXHXORDPRTGNJAHAHFRGZNEEJCPQTT2M7NLCNF4
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"nk","level":"5.2","depth":1,"next":{"title":"nsc","level":"5.3","depth":1,"path":"nats_tools/nsc/README.md","ref":"nats_tools/nsc/README.md","articles":[{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]}]},"previous":{"title":"mkpasswd","level":"5.1","depth":1,"path":"nats_tools/mkpasswd.md","ref":"nats_tools/mkpasswd.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nk.md","mtime":"2019-05-30T22:52:52.333Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"nk","level":"5.2","depth":1,"next":{"title":"nsc","level":"5.3","depth":1,"path":"nats_tools/nsc/README.md","ref":"nats_tools/nsc/README.md","articles":[{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]},{"title":"Revocation","level":"5.3.5","depth":2,"path":"nats_tools/nsc/revocation.md","ref":"nats_tools/nsc/revocation.md","articles":[]},{"title":"Managed Operators","level":"5.3.6","depth":2,"path":"nats_tools/nsc/managed.md","ref":"nats_tools/nsc/managed.md","articles":[]}]},"previous":{"title":"mkpasswd","level":"5.1","depth":1,"path":"nats_tools/mkpasswd.md","ref":"nats_tools/mkpasswd.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nk.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="revocation.html">
<a href="revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="managed.html">
<a href="managed.html">
Managed Operators
</a>
</li>
@@ -2552,15 +2578,16 @@
<section class="normal markdown-section">
<h2 id="nats-account-configuration"><a name="nats-account-configuration" class="plugin-anchor" href="#nats-account-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>NATS Account Configuration</h2>
<h1 id="nats-account-configuration"><a name="nats-account-configuration" class="plugin-anchor" href="#nats-account-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>NATS Account Configuration</h1>
<p>NATS account configurations are built using the <code>nsc</code> tool. The NSC tool allows you to:</p>
<ul>
<li>Create and Edit Operators, Accounts, Users</li>
<li>Create and edit Operators, Accounts, Users</li>
<li>Manage subscribe and publish permissions for Users</li>
<li>Add and delete Exports and Imports</li>
<li>Generate Activations</li>
<li>Generate Activation tokens</li>
<li>Generate User credential files</li>
<li>Describe Operators, Accounts, Users, and Activations</li>
<li>Push account JWTs to a server or pull account JWTs from a server</li>
</ul>
<h2 id="installation"><a name="installation" class="plugin-anchor" href="#installation"><i class="fa fa-link" aria-hidden="true"></i></a>Installation</h2>
<p>Installing <code>nsc</code> is easy:</p>
@@ -2574,13 +2601,15 @@
<li><a href="streams.html">Configuring Streams</a></li>
<li><a href="services.html">Configuring Services</a></li>
<li><a href="signing_keys.html">Signing Keys</a></li>
<li><a href="revocation.html">Revoking Users or Activations</a></li>
<li><a href="managed.html">Working with Managed Operators</a></li>
</ul>
<h2 id="tool-documentation"><a name="tool-documentation" class="plugin-anchor" href="#tool-documentation"><i class="fa fa-link" aria-hidden="true"></i></a>Tool Documentation</h2>
<p>For more specific browsing of the tool syntax, check out the <code>nsc</code> tool documentation.
It can be found within the tool itself:</p>
<pre class="language-"><code class="lang-text">&gt; nsc help
</code></pre>
<p>Or an online version <a href="https://nats-io.github.io/nsc" target="_blank">here</a></p>
<p>Or an online version <a href="https://nats-io.github.io/nsc" target="_blank">here</a>.</p>
</section>
@@ -2624,7 +2653,7 @@ It can be found within the tool itself:</p>
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"nsc","level":"5.3","depth":1,"next":{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},"previous":{"title":"nk","level":"5.2","depth":1,"path":"nats_tools/nk.md","ref":"nats_tools/nk.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/README.md","mtime":"2019-05-30T22:52:52.333Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"nsc","level":"5.3","depth":1,"next":{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},"previous":{"title":"nk","level":"5.2","depth":1,"path":"nats_tools/nk.md","ref":"nats_tools/nk.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/README.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="revocation.html">
<a href="revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="managed.html">
<a href="managed.html">
Managed Operators
</a>
</li>
@@ -2552,8 +2578,8 @@
<section class="normal markdown-section">
<h2 id="nsc"><a name="nsc" class="plugin-anchor" href="#nsc"><i class="fa fa-link" aria-hidden="true"></i></a>NSC</h2>
<p>NATS uses JWTs to armor the various identity and authorization artifacts. These JWTs are created with the <code>nsc</code> tool. NSC simplifies the tasks of creating and managing identities and other JWT artifacts.</p>
<h1 id="nsc"><a name="nsc" class="plugin-anchor" href="#nsc"><i class="fa fa-link" aria-hidden="true"></i></a>NSC</h1>
<p>NATS uses JWTs to armor the various identity and authorization artifacts. These JWTs are created with the <code>nsc</code> tool. NSC simplifies the tasks of creating and managing identities and other JWT artifacts.</p>
<p>There&#x2019;s a logical hierarchy to the entities:</p>
<ul>
<li><p><code>Operators</code> are responsible for running nats-servers, and signing account JWTs that set the limits on what an account can do, such as the number of connections, data limits, etc.</p>
@@ -2571,11 +2597,9 @@
<li>configure a nats-server to use JWTs</li>
</ul>
<p>Let&#x2019;s run through the process of creating some identities and JWTs and work through the process.</p>
<p>By default JWTs are written to <code>~/.nsc</code> and secrets to <code>~/.nkeys</code>. You can easily change those locations by setting <code>NSC_HOME</code> and <code>NKEYS_PATH</code> respectively in your environment to your desired locations.</p>
<blockquote>
<p>The $NKEYS_PATH stores secrets. Since nkeys relies on cryptographic signatures to prove identity, anyone with access to your private keys will be able to assume your identity. With that said, treat them as secrets and guard them carefully.</p>
</blockquote>
<p>Let&#x2019;s see what settings <code>nsc</code> has in its environment:</p>
<h2 id="the-nsc-environment"><a name="the-nsc-environment" class="plugin-anchor" href="#the-nsc-environment"><i class="fa fa-link" aria-hidden="true"></i></a>The NSC Environment</h2>
<p>By default JWTs are written to ~/.nsc and secrets to ~/.nkeys. nsc also tracks a value called the &quot;stores directory&quot;. This directory contains the operators you are currently working with. By default the stores directory is ~/.nsc/nats but you can switch it to another folder if you want to separate JWTs for use in a revision control system, or co-locate them with a project, etc..</p>
<p>To see the current NSC environment use the command <code>nsc env</code>:</p>
<pre class="language-"><code class="lang-text">&gt; nsc env
&#x256D;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256E;
&#x2502; NSC Environment &#x2502;
@@ -2592,8 +2616,12 @@
&#x2502; Default Cluster &#x2502; &#x2502; &#x2502;
&#x2570;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256F;
</code></pre>
<p>By default you&#x2019;ll see that generated secrets are stored in <code>~/.nkeys</code>, and configurations in <code>~/.nsc/nats</code>. All operations are assumed to be in a context of the current operator and current account. When working with multiple operators and accounts you may need to set the current one. You can easily do so by issuing the <code>nsc env</code> and provide flags to set the current operator or account. See <code>nsc env &#x2014;help</code> for more details.</p>
<h4 id="creating-an-operator"><a name="creating-an-operator" class="plugin-anchor" href="#creating-an-operator"><i class="fa fa-link" aria-hidden="true"></i></a>Creating an Operator</h4>
<p>As you can see there is a setting for the nkeys folder and the nsc home. By default you&#x2019;ll see that generated secrets are stored in <code>~/.nkeys</code>, and configurations in <code>~/.nsc/nats</code>. All operations are assumed to be in a context of the current operator and current account. When working with multiple operators and accounts you may need to set the current one. You can easily do so by issuing the <code>nsc env</code> and provide flags to set the current operator or account. See <code>nsc env &#x2014;help</code> for more details.</p>
<p>You can easily change the home and keys locations by setting <code>NSC_HOME</code> and <code>NKEYS_PATH</code> respectively in your environment to your desired locations. The environment itself is stored in the <code>NSC_HOME</code>. Operator folders are in the stores directory which can be inside <code>NSC_HOME</code> or external to it.</p>
<blockquote>
<p>The $NKEYS_PATH stores secrets. Since nkeys relies on cryptographic signatures to prove identity, anyone with access to your private keys will be able to assume your identity. With that said, treat them as secrets and guard them carefully.</p>
</blockquote>
<h2 id="creating-an-operator"><a name="creating-an-operator" class="plugin-anchor" href="#creating-an-operator"><i class="fa fa-link" aria-hidden="true"></i></a>Creating an Operator</h2>
<p>Let&#x2019;s create an operator called <code>Test</code>:</p>
<pre class="language-"><code class="lang-text">&gt; nsc add operator -n Test
Generated operator key - private key stored &#x201C;~/.nkeys/Test/Test.nk&#x201D;
@@ -2628,8 +2656,9 @@ Success! - added operator &quot;Test&quot;
&#x2502; Expires &#x2502; &#x2502;
&#x2570;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256F;
</code></pre>
<p>The operator JWT contains two important URLs. The <code>account-jwt-server-url</code> is used by <code>nsc</code> when you want to push JWTs to an account server. The <code>service-url</code>s are used by <code>nsc</code> when you run the tool commands, like <code>nsc tool pub</code>.</p>
<p>With an operator, we are ready to create our first account.</p>
<h4 id="creating-an-account"><a name="creating-an-account" class="plugin-anchor" href="#creating-an-account"><i class="fa fa-link" aria-hidden="true"></i></a>Creating an Account</h4>
<h2 id="creating-an-account"><a name="creating-an-account" class="plugin-anchor" href="#creating-an-account"><i class="fa fa-link" aria-hidden="true"></i></a>Creating an Account</h2>
<p>Let&#x2019;s create an account called <code>TestAccount</code>:</p>
<pre class="language-"><code>&gt; nsc add account -n TestAccount
Generated account key - private key stored &#x201C;~/.nkeys/Test/accounts/TestAccount/TestAccount.nk&quot;
@@ -2661,7 +2690,7 @@ Success! - added account &quot;TestAccount&quot;
<p>Again, specifying the <code>-W</code> flag will print the complete account ID (the public key identifying the account).</p>
<p>Note that the issuer for the account is the ID for the operator (the public key identifying the operator).</p>
<p>Now we are ready to add a user.</p>
<h4 id="creating-a-user"><a name="creating-a-user" class="plugin-anchor" href="#creating-a-user"><i class="fa fa-link" aria-hidden="true"></i></a>Creating a User</h4>
<h2 id="creating-a-user"><a name="creating-a-user" class="plugin-anchor" href="#creating-a-user"><i class="fa fa-link" aria-hidden="true"></i></a>Creating a User</h2>
<p>Let&#x2019;s add a user named &#x2018;TestUser&#x2019;:</p>
<pre class="language-"><code class="lang-text">&gt; nsc add user -n TestUser
Generated user key - private key stored &quot;~/.nkeys/Test/accounts/TestAccount/users/TestUser.nk&quot;
@@ -2687,7 +2716,7 @@ Success! - added user &quot;TestUser&quot; to &quot;TestAccount&quot;
&#x2570;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256F;
</code></pre>
<p>Let&#x2019;s put all of this together, and create a simple server configuration that accepts sessions from TestUser.</p>
<h3 id="account-server-configuration"><a name="account-server-configuration" class="plugin-anchor" href="#account-server-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Account Server Configuration</h3>
<h2 id="account-server-configuration"><a name="account-server-configuration" class="plugin-anchor" href="#account-server-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>Account Server Configuration</h2>
<p>To configure a server to use accounts you need an <em>account resolver</em>. An account resolver exposes a URL where a nats-server can query for JWTs belonging to an account.</p>
<p>A simple built-in resolver is the <code>MEMORY</code> resolver which simply statically maps account public keys to an account JWT in the server&#x2019;s configuration file. It is somewhat easier to configure because it doesn&#x2019;t require another moving part, but fails provide the needed experience of setting up an account server. Let&#x2019;s setup an <em>Account Server</em>.</p>
<p>Installing the Account Server</p>
@@ -2697,8 +2726,9 @@ Success! - added user &quot;TestUser&quot; to &quot;TestAccount&quot;
<pre class="language-"><code class="lang-text">&gt; nats-account-server -nsc ~/.nsc/nats/Test
</code></pre>
<p>Above we pointed the account server to our nsc data directory (more specifically to the <code>Test</code> operator that we created earlier). By default, the server listens on the localhost at port 9090.</p>
<p>We are now ready to configure the nats-server</p>
<h3 id="nats-server-configuration"><a name="nats-server-configuration" class="plugin-anchor" href="#nats-server-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>NATS Server Configuration</h3>
<p>You can also run the account server with a data directory that is not your nsc folder. In this mode you can upload account JWTs to the server. See the help for <code>nsc push</code> for more information about how to push JWTs to the account server.</p>
<p>We are now ready to configure the nats-server.</p>
<h2 id="nats-server-configuration"><a name="nats-server-configuration" class="plugin-anchor" href="#nats-server-configuration"><i class="fa fa-link" aria-hidden="true"></i></a>NATS Server Configuration</h2>
<p>If you don&#x2019;t have a nats-server installed, let&#x2019;s do that now:</p>
<pre class="language-"><code class="lang-text">&gt; go get github.com/nats-io/nats-server
</code></pre>
@@ -2707,7 +2737,7 @@ Success! - added user &quot;TestUser&quot; to &quot;TestAccount&quot;
<span class="token key atrule">resolver</span><span class="token punctuation">:</span> URL(http<span class="token punctuation">:</span>//localhost<span class="token punctuation">:</span>9090/jwt/v1/accounts/)
</code></pre>
<p>At minimum the server requires the <code>operator</code> JWT, which we have pointed at directly, and a resolver. The resolver has two types <code>MEM</code> and <code>URL</code>. We are interested in the <code>URL</code> since we want the nats-server to talk to the account server. Note we put the URL of the server with the path <code>/jwt/v1/accounts</code>. Currently this is where the account server expects requests for account information.</p>
<h3 id="client-testing"><a name="client-testing" class="plugin-anchor" href="#client-testing"><i class="fa fa-link" aria-hidden="true"></i></a>Client Testing</h3>
<h2 id="client-testing"><a name="client-testing" class="plugin-anchor" href="#client-testing"><i class="fa fa-link" aria-hidden="true"></i></a>Client Testing</h2>
<p>Let&#x2019;s install some tooling:</p>
<pre class="language-"><code class="lang-text">&gt; go get github.com/nats-io/nats.go/examples/nats-pub
@@ -2724,7 +2754,7 @@ Published [hello] : &apos;NATS&apos;
<p>Subscriber shows:</p>
<pre class="language-"><code class="lang-text">[#1] Received on [hello]: &#x2019;NATS&#x2019;
</code></pre>
<h3 id="user-authorization"><a name="user-authorization" class="plugin-anchor" href="#user-authorization"><i class="fa fa-link" aria-hidden="true"></i></a>User Authorization</h3>
<h2 id="user-authorization"><a name="user-authorization" class="plugin-anchor" href="#user-authorization"><i class="fa fa-link" aria-hidden="true"></i></a>User Authorization</h2>
<p>User authorization, as expected, also works with JWT authentication. With <code>nsc</code> you can specify authorization for specific subjects to which the user can or cannot publish or subscribe. By default a user doesn&apos;t have any limits on the subjects that it can publish or subscribe to. Any message stream or message published in the account is subscribable by the user. The user can also publish to any subject or imported service. Note that authorization, if configured, must be specified on a per user basis.</p>
<p>When specifying limits it is important to remember that clients by default use generated &quot;inboxes&quot; to allow publish requests. When specifying subscribe and publish permissions, you need to enable clients to subscribe and publish to <code>_INBOX.&gt;</code>. You can further restrict it, but you&apos;ll be responsible for segmenting the subject space so as to not break request/reply communications between clients.</p>
<p>Let&apos;s say you have a service that your account clients can make requests to under <code>req.a</code>. To enable the service to receive and respond to requests it requires permissions to subscribe to <code>req.a</code> and publish permissions under <code>_INBOX.&gt;</code>:</p>
@@ -2822,7 +2852,7 @@ Success! - added user &quot;TestClient&quot; to &quot;TestAccount&quot;
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.3.1","depth":2,"next":{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},"previous":{"title":"nsc","level":"5.3","depth":1,"path":"nats_tools/nsc/README.md","ref":"nats_tools/nsc/README.md","articles":[{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/nsc.md","mtime":"2019-06-11T19:34:10.868Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Basics","level":"5.3.1","depth":2,"next":{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},"previous":{"title":"nsc","level":"5.3","depth":1,"path":"nats_tools/nsc/README.md","ref":"nats_tools/nsc/README.md","articles":[{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]},{"title":"Revocation","level":"5.3.5","depth":2,"path":"nats_tools/nsc/revocation.md","ref":"nats_tools/nsc/revocation.md","articles":[]},{"title":"Managed Operators","level":"5.3.6","depth":2,"path":"nats_tools/nsc/managed.md","ref":"nats_tools/nsc/managed.md","articles":[]}]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/nsc.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="revocation.html">
<a href="revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="managed.html">
<a href="managed.html">
Managed Operators
</a>
</li>
@@ -2552,9 +2578,9 @@
<section class="normal markdown-section">
<h2 id="services"><a name="services" class="plugin-anchor" href="#services"><i class="fa fa-link" aria-hidden="true"></i></a>Services</h2>
<h1 id="services"><a name="services" class="plugin-anchor" href="#services"><i class="fa fa-link" aria-hidden="true"></i></a>Services</h1>
<p>To share services that other accounts can reach via request reply, you have to <em>Export</em> a <em>Service</em>. <em>Services</em> are associated with the account performing the replies and are advertised in the exporting accounts&apos; JWT.</p>
<h3 id="adding-a-public-service-export"><a name="adding-a-public-service-export" class="plugin-anchor" href="#adding-a-public-service-export"><i class="fa fa-link" aria-hidden="true"></i></a>Adding a Public Service Export</h3>
<h2 id="adding-a-public-service-export"><a name="adding-a-public-service-export" class="plugin-anchor" href="#adding-a-public-service-export"><i class="fa fa-link" aria-hidden="true"></i></a>Adding a Public Service Export</h2>
<p>To add a service to your account:</p>
<pre class="language-"><code class="lang-text">&gt; nsc add export --name &quot;srv&quot; --subject &quot;help&quot; --service
Success! - added public service export &quot;srv&quot;
@@ -2589,7 +2615,7 @@ Success! - added public service export &quot;srv&quot;
&#x2502; help &#x2502; Service &#x2502; help &#x2502; Yes &#x2502;
&#x2570;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2534;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256F;
</code></pre>
<h3 id="importing-a-service"><a name="importing-a-service" class="plugin-anchor" href="#importing-a-service"><i class="fa fa-link" aria-hidden="true"></i></a>Importing a Service</h3>
<h2 id="importing-a-service"><a name="importing-a-service" class="plugin-anchor" href="#importing-a-service"><i class="fa fa-link" aria-hidden="true"></i></a>Importing a Service</h2>
<p>Importing a service enables you to send requests to the remote <em>Account</em>. To import a Service, you have to create an <em>Import</em>. To create an import you need to know:</p>
<ul>
<li>The exporting account&#x2019;s public key</li>
@@ -2601,7 +2627,7 @@ Success! - added public service export &quot;srv&quot;
<pre class="language-"><code class="lang-text">&gt; nsc add import --src-account AC7PO3MREV26U3LFZFP5BN3HAI32X3PKLBRVMPAETLEHWPQEUG7EJY4H --remote-subject help --service
Success! - added service import &quot;help&quot;
</code></pre>
<p>Verifying our handywork:</p>
<p>Verifying our work:</p>
<pre class="language-"><code class="lang-text">&gt; nsc describe account
&#x256D;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x2500;&#x256E;
&#x2502; Account Details &#x2502;
@@ -2822,7 +2848,7 @@ Published [help] : &apos;me&apos;
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Services","level":"5.3.3","depth":2,"next":{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]},"previous":{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/services.md","mtime":"2019-06-05T22:32:07.016Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Services","level":"5.3.3","depth":2,"next":{"title":"Signing Keys","level":"5.3.4","depth":2,"path":"nats_tools/nsc/signing_keys.md","ref":"nats_tools/nsc/signing_keys.md","articles":[]},"previous":{"title":"Streams","level":"5.3.2","depth":2,"path":"nats_tools/nsc/streams.md","ref":"nats_tools/nsc/streams.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/services.md","mtime":"2019-09-23T22:49:18.495Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -66,7 +66,7 @@
<link rel="shortcut icon" href="../../gitbook/images/favicon.ico" type="image/x-icon">
<link rel="next" href="../nas/" />
<link rel="next" href="revocation.html" />
<link rel="prev" href="services.html" />
@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="revocation.html">
<a href="revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="managed.html">
<a href="managed.html">
Managed Operators
</a>
</li>
@@ -2552,7 +2578,7 @@
<section class="normal markdown-section">
<h2 id="signing-keys"><a name="signing-keys" class="plugin-anchor" href="#signing-keys"><i class="fa fa-link" aria-hidden="true"></i></a>Signing Keys</h2>
<h1 id="signing-keys"><a name="signing-keys" class="plugin-anchor" href="#signing-keys"><i class="fa fa-link" aria-hidden="true"></i></a>Signing Keys</h1>
<p>As previously discussed, NKEYs are identities, and if someone gets a hold of an account or operator nkey they can do everything you can do as you.</p>
<p>NATS has a strategies to let you deal with scenarios where your private keys escape out in the wild.</p>
<p>The first and most important line of defense is <em>Signing Keys</em>. <em>Signing Keys</em> allow you have multiple NKEY identities of the same kind (Operator or Account) that have the same degree of trust as the standard <em>Issuer</em> nkey.</p>
@@ -2700,7 +2726,7 @@ Success! - added user &quot;U&quot; to &quot;A&quot;
</a>
<a href="../nas/" class="navigation navigation-next " aria-label="Next page: nats-account-server">
<a href="revocation.html" class="navigation navigation-next " aria-label="Next page: Revocation">
<i class="fa fa-angle-right"></i>
</a>
@@ -2711,7 +2737,7 @@ Success! - added user &quot;U&quot; to &quot;A&quot;
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Signing Keys","level":"5.3.4","depth":2,"next":{"title":"nats-account-server","level":"5.4","depth":1,"path":"nats_tools/nas/README.md","ref":"nats_tools/nas/README.md","articles":[{"title":"Basics","level":"5.4.1","depth":2,"path":"nats_tools/nas/nas_conf.md","ref":"nats_tools/nas/nas_conf.md","articles":[]},{"title":"Inspecting JWTs","level":"5.4.2","depth":2,"path":"nats_tools/nas/inspecting_jwts.md","ref":"nats_tools/nas/inspecting_jwts.md","articles":[]},{"title":"Directory Store","level":"5.4.3","depth":2,"path":"nats_tools/nas/dir_store.md","ref":"nats_tools/nas/dir_store.md","articles":[]},{"title":"Update Notifications","level":"5.4.4","depth":2,"path":"nats_tools/nas/notifications.md","ref":"nats_tools/nas/notifications.md","articles":[]},{"title":"Memory Resolver","level":"5.4.5","depth":2,"path":"nats_tools/nas/mem_resolver.md","ref":"nats_tools/nas/mem_resolver.md","articles":[]}]},"previous":{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/signing_keys.md","mtime":"2019-05-30T22:52:52.334Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Signing Keys","level":"5.3.4","depth":2,"next":{"title":"Revocation","level":"5.3.5","depth":2,"path":"nats_tools/nsc/revocation.md","ref":"nats_tools/nsc/revocation.md","articles":[]},"previous":{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/signing_keys.md","mtime":"2019-09-23T22:49:18.496Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -1504,6 +1504,32 @@
</li>
<li class="chapter " data-level="5.3.5" data-path="revocation.html">
<a href="revocation.html">
Revocation
</a>
</li>
<li class="chapter " data-level="5.3.6" data-path="managed.html">
<a href="managed.html">
Managed Operators
</a>
</li>
@@ -2552,7 +2578,7 @@
<section class="normal markdown-section">
<h2 id="streams"><a name="streams" class="plugin-anchor" href="#streams"><i class="fa fa-link" aria-hidden="true"></i></a>Streams</h2>
<h1 id="streams"><a name="streams" class="plugin-anchor" href="#streams"><i class="fa fa-link" aria-hidden="true"></i></a>Streams</h1>
<p>To share messages you publish with other accounts, you have to <em>Export</em> a <em>Stream</em>. <em>Exports</em> are associated with the account performing the export and advertised in exporting account&#x2019;s JWT.</p>
<h3 id="adding-a-public-stream-export"><a name="adding-a-public-stream-export" class="plugin-anchor" href="#adding-a-public-stream-export"><i class="fa fa-link" aria-hidden="true"></i></a>Adding a Public Stream Export</h3>
<p>To add a stream to your account:</p>
@@ -2827,7 +2853,7 @@ Published [a.b.c.d] : &apos;hello&apos;
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Streams","level":"5.3.2","depth":2,"next":{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},"previous":{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/streams.md","mtime":"2019-05-30T22:52:52.334Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-05T21:19:53.626Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Streams","level":"5.3.2","depth":2,"next":{"title":"Services","level":"5.3.3","depth":2,"path":"nats_tools/nsc/services.md","ref":"nats_tools/nsc/services.md","articles":[]},"previous":{"title":"Basics","level":"5.3.1","depth":2,"path":"nats_tools/nsc/nsc.md","ref":"nats_tools/nsc/nsc.md","articles":[]},"dir":"ltr"},"config":{"plugins":["prism","-sharing","-highlight","include-html","toggle-chapters","anchors","edit-link"],"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"pluginsConfig":{"prism":{"lang":{"ascii":"markup","text":"markup"}},"search":{},"lunr":{"maxIndexSize":1000000,"ignoreSpecialCharacters":false},"include-html":{},"fontsettings":{"theme":"white","family":"sans","size":2},"edit-link":{"label":"edit","base":"https://github.com/nats-io/docs/edit/master"},"theme-default":{"styles":{"website":"styles/website.css","pdf":"styles/pdf.css","epub":"styles/epub.css","mobi":"styles/mobi.css","ebook":"styles/ebook.css","print":"styles/print.css"},"showLevel":false},"anchors":{},"toggle-chapters":{}},"theme":"default","author":"The NATS Maintainers","pdf":{"pageNumbers":true,"fontSize":12,"fontFamily":"Arial","paperSize":"a4","chapterMark":"pagebreak","pageBreaksBefore":"/","margin":{"right":62,"left":62,"top":56,"bottom":56}},"structure":{"langs":"LANGS.md","readme":"README.md","glossary":"GLOSSARY.md","summary":"SUMMARY.md"},"variables":{},"title":"NATS","gitbook":"*","description":"Administrative, developer and conceptual documentation for the NATS messaging system."},"file":{"path":"nats_tools/nsc/streams.md","mtime":"2019-09-23T22:49:18.496Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-09-23T22:50:08.961Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>