# Quit the quorum

**URL:** <https://discuss.elastic.co/t/quit-the-quorum/16816>\
**Category:** Elasticsearch\
**Created:** [April 4, 2014, 7:39am UTC](https://discuss.elastic.co/t/quit-the-quorum/16816 "2014-04-04T07:39:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Simon\_Even](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/simon_even/32/1682_2.png) [@Simon\_Even](https://discuss.elastic.co/u/Simon_Even)\
**Post date:** [April 4, 2014, 7:39am UTC](https://discuss.elastic.co/t/quit-the-quorum/16816/1 "2014-04-04T07:39:23Z")

</div>

Good day!

I've developed an elasticsearch plugin which wathces the index changes and  
broadcasts them to a websocket running within the plugin. And ofcourse I  
ran into a problem 🙂 If i use a cluster of 3 (for example) elasticsearch  
services, writing a new document won't trigger the index change event on  
all es servers but only on those having the shard. My questing is how can I  
force es to write all the shards to all the servers at all times but at the  
same time keep the scaleability? By keeping the scaleability I mean an  
option to add more servers without the need of changing the config files  
with number of replicas and restarting the services.

I've tried playing with write\_consistency but I believe that's totally  
different thing.

Thanks in advance!  
-Simon

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![jprante](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/jprante/32/44941_2.png) [@jprante](https://discuss.elastic.co/u/jprante)\
**Post date:** [April 4, 2014, 11:28am UTC](https://discuss.elastic.co/t/quit-the-quorum/16816/2 "2014-04-04T11:28:21Z")

</div>

In my websocket plugin, I solve this by a pub/sub architecture

- each node with websocket plugin opens a channel to every other node with  
websocket plugin
- a publisher offers a service to which other clients can subscribe
- the result is a service where a number of subscribing clients are  
permanently connected and wait for messages
- if a client pushes a document, he can also publish a success message to  
the service
- every subscribing client is notified about the message (implemented as  
scan/scroll action over a dedicated pub/sub index)

> **[GitHub - jprante/elasticsearch-transport-websocket: WebSockets for ElasticSearch](https://github.com/jprante/elasticsearch-transport-websocket/)**
>
> WebSockets for ElasticSearch. Contribute to jprante/elasticsearch-transport-websocket development by creating an account on GitHub.

Jörg

On Fri, Apr 4, 2014 at 9:39 AM, Simon Even [even.simon@gmail.com](mailto:even.simon@gmail.com) wrote:

> Good day!
> 
> I've developed an elasticsearch plugin which wathces the index changes and  
> broadcasts them to a websocket running within the plugin. And ofcourse I  
> ran into a problem 🙂 If i use a cluster of 3 (for example) elasticsearch  
> services, writing a new document won't trigger the index change event on  
> all es servers but only on those having the shard. My questing is how can I  
> force es to write all the shards to all the servers at all times but at the  
> same time keep the scaleability? By keeping the scaleability I mean an  
> option to add more servers without the need of changing the config files  
> with number of replicas and restarting the services.
> 
> I've tried playing with write\_consistency but I believe that's totally  
> different thing.
> 
> Thanks in advance!  
> -Simon
> 
> --  
> You received this message because you are subscribed to the Google Groups  
> "elasticsearch" group.  
> To unsubscribe from this group and stop receiving emails from it, send an  
> email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
> To view this discussion on the web visit  
> [https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com)[https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com?utm_medium=email&utm_source=footer)  
> .  
> For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGsnJGMk%2BhTLVDqQ2hTvqEr9vjnooX8pa-grvcp9C9eag%40mail.gmail.com](https://groups.google.com/d/msgid/elasticsearch/CAKdsXoGsnJGMk%2BhTLVDqQ2hTvqEr9vjnooX8pa-grvcp9C9eag%40mail.gmail.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![Simon\_Even](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/simon_even/32/1682_2.png) [@Simon\_Even](https://discuss.elastic.co/u/Simon_Even)\
**Post date:** [April 4, 2014, 11:37am UTC](https://discuss.elastic.co/t/quit-the-quorum/16816/3 "2014-04-04T11:37:00Z")

</div>

Jörg, thanks for your post!

My idea is to have a cluster of es with a plugin and an nginx above it to  
balance the sockets. In this case each plugin has to broadcast all changes  
made in the es,  
for this purpose I need to have all the shards on all the servers, or am I  
wrong?

On Friday, April 4, 2014 3:28:21 PM UTC+4, Jörg Prante wrote:

> In my websocket plugin, I solve this by a pub/sub architecture
> 
> - each node with websocket plugin opens a channel to every other node with  
> websocket plugin
> - a publisher offers a service to which other clients can subscribe
> - the result is a service where a number of subscribing clients are  
> permanently connected and wait for messages
> - if a client pushes a document, he can also publish a success message to  
> the service
> - every subscribing client is notified about the message (implemented as  
> scan/scroll action over a dedicated pub/sub index)
> 
> [GitHub - jprante/elasticsearch-transport-websocket: WebSockets for ElasticSearch](https://github.com/jprante/elasticsearch-transport-websocket/)
> 
> Jörg
> 
> On Fri, Apr 4, 2014 at 9:39 AM, Simon Even \<[even....@gmail.com](mailto:even....@gmail.com)\<javascript:\>
> 
> > wrote:
> 
> > Good day!
> > 
> > I've developed an elasticsearch plugin which wathces the index changes  
> > and broadcasts them to a websocket running within the plugin. And ofcourse  
> > I ran into a problem 🙂 If i use a cluster of 3 (for example) elasticsearch  
> > services, writing a new document won't trigger the index change event on  
> > all es servers but only on those having the shard. My questing is how can I  
> > force es to write all the shards to all the servers at all times but at the  
> > same time keep the scaleability? By keeping the scaleability I mean an  
> > option to add more servers without the need of changing the config files  
> > with number of replicas and restarting the services.
> > 
> > I've tried playing with write\_consistency but I believe that's totally  
> > different thing.
> > 
> > Thanks in advance!  
> > -Simon
> > 
> > --  
> > You received this message because you are subscribed to the Google Groups  
> > "elasticsearch" group.  
> > To unsubscribe from this group and stop receiving emails from it, send an  
> > email to [elasticsearc...@googlegroups.com](mailto:elasticsearc...@googlegroups.com) \<javascript:\>.  
> > To view this discussion on the web visit  
> > [https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com)[https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com?utm\_medium=email&utm\_source=footer](https://groups.google.com/d/msgid/elasticsearch/3a05aaf0-f13f-4447-a598-9812f2672972%40googlegroups.com?utm_medium=email&utm_source=footer)  
> > .  
> > For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

--  
You received this message because you are subscribed to the Google Groups "elasticsearch" group.  
To unsubscribe from this group and stop receiving emails from it, send an email to [elasticsearch+unsubscribe@googlegroups.com](mailto:elasticsearch+unsubscribe@googlegroups.com).  
To view this discussion on the web visit [https://groups.google.com/d/msgid/elasticsearch/f83e8eb4-d841-4201-acac-d174a4c66675%40googlegroups.com](https://groups.google.com/d/msgid/elasticsearch/f83e8eb4-d841-4201-acac-d174a4c66675%40googlegroups.com).  
For more options, visit [https://groups.google.com/d/optout](https://groups.google.com/d/optout).

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [July 6, 2017, 1:38am UTC](https://discuss.elastic.co/t/quit-the-quorum/16816/4 "2017-07-06T01:38:14Z")

</div>

Closed on July 6, 2017, 1:38am UTC


