Re: About channels and scaling up

2017-08-06 Thread Cristiano Coelho
I thought that the fact redis was being used (or any distributed store) 
wouldn't make this an issue, so basically redis is used to be able to scale 
out the workers but the web sockets listener can't currently be scaled out.

The main reason of the question was about being able to deploy everything 
together, a django application and also web sockets through the same AWS 
Elastic Beanstlak deployment, which would scale automatically and spawn new 
servers in the process, this would actually save some money compared to 
what we currently use which is basically a separate elastic beanstalk 
deployment with a nodejs + web sockets server as a single instance since it 
has the exact same issue, but since node is quite fast (way faster than 
python sadly) scaling is not really an issue.

Is there any place to look into the technical challenges and progress for 
this issue? 




El domingo, 6 de agosto de 2017, 20:43:41 (UTC-3), Andrew Godwin escribió:
>
> Yes, this is a problem, and as it says it would only work for some site 
> designs (where you're OK with sharding the live userbase). We're fixing 
> this architectural issue in the next major Channels release, but it's going 
> to take a little time.
>
> Andrew
>
> On Mon, Aug 7, 2017 at 4:21 AM, Cristiano Coelho  > wrote:
>
>> About docs here: http://channels.readthedocs.io/en/stable/deploying.html
>>
>> "The fundamental difference is that the group mechanic requires all 
>> servers serving the same site to be able to see each other*; if you 
>> separate the site up and run it in a few, large clusters, messages to 
>> groups will only deliver to WebSockets connected to the same cluster.* 
>> For some site designs this will be fine, and if you think you can live with 
>> this and design around it (which means never designing anything around 
>> global notifications or events), this may be a good way to go."
>>
>> It's not clear to me, the exact meaning of this. Channels won't work 
>> properly if there are multiple servers (load balanced) running the 
>> ASGI/listener (interface server?) code? Does this mean a broadcast 
>> happening at one node will only deliver to all the clients connected to 
>> that node? Isn't the point of using redis to be able to broadcast to 
>> everyone across every server?
>>
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "Django users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to django-users...@googlegroups.com .
>> To post to this group, send email to django...@googlegroups.com 
>> .
>> Visit this group at https://groups.google.com/group/django-users.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/django-users/ef02b7bb-9d36-42ae-9cff-454bd2f3a558%40googlegroups.com
>>  
>> 
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/b397d73a-850c-44f2-b5a6-959846fa45c7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: About channels and scaling up

2017-08-06 Thread Andrew Godwin
Yes, this is a problem, and as it says it would only work for some site
designs (where you're OK with sharding the live userbase). We're fixing
this architectural issue in the next major Channels release, but it's going
to take a little time.

Andrew

On Mon, Aug 7, 2017 at 4:21 AM, Cristiano Coelho 
wrote:

> About docs here: http://channels.readthedocs.io/en/stable/deploying.html
>
> "The fundamental difference is that the group mechanic requires all
> servers serving the same site to be able to see each other*; if you
> separate the site up and run it in a few, large clusters, messages to
> groups will only deliver to WebSockets connected to the same cluster.*
> For some site designs this will be fine, and if you think you can live with
> this and design around it (which means never designing anything around
> global notifications or events), this may be a good way to go."
>
> It's not clear to me, the exact meaning of this. Channels won't work
> properly if there are multiple servers (load balanced) running the
> ASGI/listener (interface server?) code? Does this mean a broadcast
> happening at one node will only deliver to all the clients connected to
> that node? Isn't the point of using redis to be able to broadcast to
> everyone across every server?
>
> --
> You received this message because you are subscribed to the Google Groups
> "Django users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to django-users+unsubscr...@googlegroups.com.
> To post to this group, send email to django-users@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-users.
> To view this discussion on the web visit https://groups.google.com/d/
> msgid/django-users/ef02b7bb-9d36-42ae-9cff-454bd2f3a558%40googlegroups.com
> 
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/CAFwN1urQgP2MK%2B1MRhN83K_17jrER%2BRmTknU1Ar7-pBJY_aZSQ%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.


About channels and scaling up

2017-08-06 Thread Cristiano Coelho
About docs here: http://channels.readthedocs.io/en/stable/deploying.html

"The fundamental difference is that the group mechanic requires all servers 
serving the same site to be able to see each other*; if you separate the 
site up and run it in a few, large clusters, messages to groups will only 
deliver to WebSockets connected to the same cluster.* For some site designs 
this will be fine, and if you think you can live with this and design 
around it (which means never designing anything around global notifications 
or events), this may be a good way to go."

It's not clear to me, the exact meaning of this. Channels won't work 
properly if there are multiple servers (load balanced) running the 
ASGI/listener (interface server?) code? Does this mean a broadcast 
happening at one node will only deliver to all the clients connected to 
that node? Isn't the point of using redis to be able to broadcast to 
everyone across every server?

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to django-users+unsubscr...@googlegroups.com.
To post to this group, send email to django-users@googlegroups.com.
Visit this group at https://groups.google.com/group/django-users.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/django-users/ef02b7bb-9d36-42ae-9cff-454bd2f3a558%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.