1
0
mirror of https://github.com/taigrr/nats.docs synced 2025-01-18 04:03:23 -08:00

updating docs

This commit is contained in:
ainsley
2019-08-13 09:27:52 -05:00
parent 1c3833b7e1
commit 032f3cd171
152 changed files with 180 additions and 177 deletions

View File

@@ -2341,9 +2341,9 @@
<section class="normal markdown-section">
<h1 id="buffering-messages-during-reconnect-attempts"><a name="buffering-messages-during-reconnect-attempts" class="plugin-anchor" href="#buffering-messages-during-reconnect-attempts"><i class="fa fa-link" aria-hidden="true"></i></a>Buffering Messages During Reconnect Attempts</h1>
<p>The NATS client libraries, try as much as possible to be fire and forget. One of the features that may be included in the library you are using is the ability to buffer outgoing messages when the connection is down.</p>
<p>The NATS client libraries try as much as possible to be fire and forget. One of the features that may be included in the library you are using is the ability to buffer outgoing messages when the connection is down.</p>
<p>During a short reconnect, these client can allow applications to publish messages that, because the server is offline, will be cached in the client. The library will then send those messages on reconnect. When the maximum reconnect buffer is reached, messages will no longer be publishable by the client.</p>
<p>Be aware, while the message appears to be sent to the application it is possible that it is never sent because the connection is never remade. Your applications should use patterns like acknowledgements to insure delivery.</p>
<p>Be aware, while the message appears to be sent to the application it is possible that it is never sent because the connection is never remade. Your applications should use patterns like acknowledgements to ensure delivery.</p>
<p>For clients that support this feature, you are able to configure the size of this buffer with bytes, messages or both.</p>
<div class="tab-wrap">
@@ -2472,7 +2472,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"next":{"title":"Securing Connections","level":"3.4","depth":1,"path":"developer/security/intro.md","ref":"developer/security/intro.md","articles":[{"title":"Authenticating with a User and Password","level":"3.4.1","depth":2,"path":"developer/security/userpass.md","ref":"developer/security/userpass.md","articles":[]},{"title":"Authenticating with a Token","level":"3.4.2","depth":2,"path":"developer/security/token.md","ref":"developer/security/token.md","articles":[]},{"title":"Authenticating with an NKey","level":"3.4.3","depth":2,"path":"developer/security/nkey.md","ref":"developer/security/nkey.md","articles":[]},{"title":"Authenticating with a Credentials File","level":"3.4.4","depth":2,"path":"developer/security/creds.md","ref":"developer/security/creds.md","articles":[]},{"title":"Encrypting Connections with TLS","level":"3.4.5","depth":2,"path":"developer/security/tls.md","ref":"developer/security/tls.md","articles":[]}]},"previous":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.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":"","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":"developer/reconnect/buffer.md","mtime":"2019-05-30T22:52:52.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"next":{"title":"Securing Connections","level":"3.4","depth":1,"path":"developer/security/intro.md","ref":"developer/security/intro.md","articles":[{"title":"Authenticating with a User and Password","level":"3.4.1","depth":2,"path":"developer/security/userpass.md","ref":"developer/security/userpass.md","articles":[]},{"title":"Authenticating with a Token","level":"3.4.2","depth":2,"path":"developer/security/token.md","ref":"developer/security/token.md","articles":[]},{"title":"Authenticating with an NKey","level":"3.4.3","depth":2,"path":"developer/security/nkey.md","ref":"developer/security/nkey.md","articles":[]},{"title":"Authenticating with a Credentials File","level":"3.4.4","depth":2,"path":"developer/security/creds.md","ref":"developer/security/creds.md","articles":[]},{"title":"Encrypting Connections with TLS","level":"3.4.5","depth":2,"path":"developer/security/tls.md","ref":"developer/security/tls.md","articles":[]}]},"previous":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.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":"","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":"developer/reconnect/buffer.md","mtime":"2019-08-13T14:25:46.277Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2493,7 +2493,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"next":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.md","articles":[]},"previous":{"title":"Automatic Reconnections","level":"3.3","depth":1,"path":"developer/reconnect/intro.md","ref":"developer/reconnect/intro.md","articles":[{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.md","articles":[]},{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.md","articles":[]},{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.md","articles":[]},{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.md","articles":[]},{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.md","articles":[]},{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"path":"developer/reconnect/buffer.md","ref":"developer/reconnect/buffer.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":"","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":"developer/reconnect/disable.md","mtime":"2019-05-30T22:52:52.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"next":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.md","articles":[]},"previous":{"title":"Automatic Reconnections","level":"3.3","depth":1,"path":"developer/reconnect/intro.md","ref":"developer/reconnect/intro.md","articles":[{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.md","articles":[]},{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.md","articles":[]},{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.md","articles":[]},{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.md","articles":[]},{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.md","articles":[]},{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"path":"developer/reconnect/buffer.md","ref":"developer/reconnect/buffer.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":"","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":"developer/reconnect/disable.md","mtime":"2019-05-30T22:52:52.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2525,7 +2525,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"next":{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"path":"developer/reconnect/buffer.md","ref":"developer/reconnect/buffer.md","articles":[]},"previous":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.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":"","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":"developer/reconnect/events.md","mtime":"2019-05-30T22:52:52.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"next":{"title":"Buffering Messages During Reconnect Attempts","level":"3.3.6","depth":2,"path":"developer/reconnect/buffer.md","ref":"developer/reconnect/buffer.md","articles":[]},"previous":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.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":"","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":"developer/reconnect/events.md","mtime":"2019-05-30T22:52:52.233Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2387,7 +2387,7 @@
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Automatic Reconnections","level":"3.3","depth":1,"next":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.md","articles":[]},"previous":{"title":"Turning Off Echo'd Messages","level":"3.2.7","depth":2,"path":"developer/connecting/noecho.md","ref":"developer/connecting/noecho.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":"","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":"developer/reconnect/intro.md","mtime":"2019-06-07T14:58:27.246Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Automatic Reconnections","level":"3.3","depth":1,"next":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.md","articles":[]},"previous":{"title":"Turning Off Echo'd Messages","level":"3.2.7","depth":2,"path":"developer/connecting/noecho.md","ref":"developer/connecting/noecho.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":"","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":"developer/reconnect/intro.md","mtime":"2019-06-07T14:58:27.246Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2489,7 +2489,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"next":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.md","articles":[]},"previous":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.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":"","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":"developer/reconnect/max.md","mtime":"2019-05-30T22:52:52.234Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"next":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.md","articles":[]},"previous":{"title":"Disabling Reconnect","level":"3.3.1","depth":2,"path":"developer/reconnect/disable.md","ref":"developer/reconnect/disable.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":"","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":"developer/reconnect/max.md","mtime":"2019-05-30T22:52:52.234Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2341,7 +2341,7 @@
<section class="normal markdown-section">
<h1 id="avoiding-the-thundering-herd"><a name="avoiding-the-thundering-herd" class="plugin-anchor" href="#avoiding-the-thundering-herd"><i class="fa fa-link" aria-hidden="true"></i></a>Avoiding the Thundering Herd</h1>
<p>When a server goes down, there is a possible anti-pattern called the <em>Thundering Herd</em> where all of the clients try to reconnect immediately creating a denial of service attack. In order to prevent this, most NATS client libraries randomize the servers they attempt to connect to. This setting has no effect if only a single server is used, but in the case of a cluster, randomization, or shuffling, will ensure that no one server bears the brunt of the client reconnect attempts.</p>
<p>When a server goes down, there is a possible anti-pattern called the <em>Thundering Herd</em> where all of the clients try to reconnect immediately, thus creating a denial of service attack. In order to prevent this, most NATS client libraries randomize the servers they attempt to connect to. This setting has no effect if only a single server is used, but in the case of a cluster, randomization, or shuffling, will ensure that no one server bears the brunt of the client reconnect attempts.</p>
<p>However, if you want to disable the randomization process, so that servers are always checked in the same order, you can do that in most libraries with a connection options:</p>
<div class="tab-wrap">
@@ -2502,7 +2502,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"next":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.md","articles":[]},"previous":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.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":"","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":"developer/reconnect/random.md","mtime":"2019-05-30T22:52:52.234Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"next":{"title":"Listening for Reconnect Events","level":"3.3.5","depth":2,"path":"developer/reconnect/events.md","ref":"developer/reconnect/events.md","articles":[]},"previous":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"path":"developer/reconnect/wait.md","ref":"developer/reconnect/wait.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":"","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":"developer/reconnect/random.md","mtime":"2019-08-13T14:25:46.277Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>

View File

@@ -2489,7 +2489,7 @@ nc<span class="token punctuation">.</span><span class="token function">close</sp
<script>
var gitbook = gitbook || [];
gitbook.push(function() {
gitbook.page.hasChanged({"page":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"next":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.md","articles":[]},"previous":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.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":"","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":"developer/reconnect/wait.md","mtime":"2019-05-30T22:52:52.234Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-07-25T22:29:27.003Z"},"basePath":"../..","book":{"language":""}});
gitbook.page.hasChanged({"page":{"title":"Pausing Between Reconnect Attempts","level":"3.3.3","depth":2,"next":{"title":"Avoiding the Thundering Herd","level":"3.3.4","depth":2,"path":"developer/reconnect/random.md","ref":"developer/reconnect/random.md","articles":[]},"previous":{"title":"Set the Number of Reconnect Attempts","level":"3.3.2","depth":2,"path":"developer/reconnect/max.md","ref":"developer/reconnect/max.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":"","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":"developer/reconnect/wait.md","mtime":"2019-05-30T22:52:52.234Z","type":"markdown"},"gitbook":{"version":"3.2.3","time":"2019-08-13T14:26:56.704Z"},"basePath":"../..","book":{"language":""}});
});
</script>
</div>