MESSAGE
DATE | 2021-05-19 |
FROM | John Dunlap
|
SUBJECT | Re: [Learn] Perl-based event server?
|
From learn-bounces-at-nylxs.com Tue Jul 6 06:10:21 2021 Return-Path: X-Original-To: archive-at-mrbrklyn.com Delivered-To: archive-at-mrbrklyn.com Received: from www2.mrbrklyn.com (www2.mrbrklyn.com [96.57.23.82]) by mrbrklyn.com (Postfix) with ESMTP id AB724163FD4; Tue, 6 Jul 2021 06:10:20 -0400 (EDT) X-Original-To: learn-at-www2.mrbrklyn.com Delivered-To: learn-at-www2.mrbrklyn.com Received: by mrbrklyn.com (Postfix, from userid 1000) id 5E3D1163FD7; Tue, 6 Jul 2021 06:10:06 -0400 (EDT) Resent-From: Ruben Safir Resent-Date: Tue, 6 Jul 2021 06:10:06 -0400 Resent-Message-ID: <20210706101006.GE5478-at-www2.mrbrklyn.com> Resent-To: learn-at-mrbrklyn.com X-Original-To: ruben-at-mrbrklyn.com Delivered-To: ruben-at-mrbrklyn.com Received: from mxout1-ec2-va.apache.org (mxout1-ec2-va.apache.org [3.227.148.255]) by mrbrklyn.com (Postfix) with ESMTP id 16DFF163FB3 for ; Wed, 19 May 2021 10:56:22 -0400 (EDT) Received: from mail.apache.org (mailroute1-lw-us.apache.org [207.244.88.153]) by mxout1-ec2-va.apache.org (ASF Mail Server at mxout1-ec2-va.apache.org) with SMTP id C4AF43F02B for ; Wed, 19 May 2021 14:56:21 +0000 (UTC) Received: (qmail 34805 invoked by uid 500); 19 May 2021 14:56:21 -0000 Mailing-List: contact modperl-help-at-perl.apache.org; run by ezmlm Precedence: bulk Delivered-To: mailing list modperl-at-perl.apache.org Received: (qmail 34790 invoked by uid 99); 19 May 2021 14:56:20 -0000 Received: from spamproc1-he-de.apache.org (HELO spamproc1-he-de.apache.org) (116.203.196.100) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 19 May 2021 14:56:20 +0000 Received: from localhost (localhost [127.0.0.1]) by spamproc1-he-de.apache.org (ASF Mail Server at spamproc1-he-de.apache.org) with ESMTP id 2C9211FF4AD for ; Wed, 19 May 2021 14:56:20 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamproc1-he-de.apache.org X-Spam-Flag: NO X-Spam-Score: 0.202 X-Spam-Level: X-Spam-Status: No, score=0.202 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.2, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamproc1-he-de.apache.org (amavisd-new); dkim=pass (2048-bit key) header.d=lariat-co.20150623.gappssmtp.com Received: from mx1-he-de.apache.org ([116.203.227.195]) by localhost (spamproc1-he-de.apache.org [116.203.196.100]) (amavisd-new, port 10024) with ESMTP id AC6EUSxO4EF1 for ; Wed, 19 May 2021 14:56:19 +0000 (UTC) Received-SPF: None (mailfrom) identity=mailfrom; client-ip=2a00:1450:4864:20::22d; helo=mail-lj1-x22d.google.com; envelope-from=john-at-lariat.co; receiver= Received: from mail-lj1-x22d.google.com (mail-lj1-x22d.google.com [IPv6:2a00:1450:4864:20::22d]) by mx1-he-de.apache.org (ASF Mail Server at mx1-he-de.apache.org) with ESMTPS id 87DD37FE77 for ; Wed, 19 May 2021 14:56:19 +0000 (UTC) Received: by mail-lj1-x22d.google.com with SMTP id w7so2614255lji.6 for ; Wed, 19 May 2021 07:56:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=lariat-co.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=hqIcjHSyVPqjdDq+vEMBdab7pFKz7AvxWDNm140eZUs=; b=psFVxNm+MVMhAa/suRiBznp4Ushn81i37zrnRmh6wPsywujvrBaWHothryQwybzxwi CUmK0bZwSr4sOgF0Fou+fXMoI6BJV+B1S27+pi0SoA0GKs/3fp4fv59nyosIxKL681I3 5zi+LP7lXFyJxrOvl02xVMTIxhf6/mzbO1FAooRW3o9IC8zHtBpyxTYUbsu/EAXW1Jjd m6Pri9cI/F3vtu9prryZ5bAKVWnzz+wuJE+pRa/KwACrNlcqRuBHnSbix9j6aADeK62D VofB6JIxxgolvJBFcUWMKjW41GdQ/7MW4x3DTAM2uci6FD+uerXe3CYz9x2riJ7H0ItD CtAg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=hqIcjHSyVPqjdDq+vEMBdab7pFKz7AvxWDNm140eZUs=; b=pd0UCW5K9hPIqFQTBIpH0INAH4laxxB5q2HPx4G75Ed0iI1F6tezLx0yVf+pzHGO/p 6M0Eu+pVZZiNtuw7Fzf0dusGGIFOtQCcVbfIrhn1YYwdyBtYLa1fpcbmKovSW4dTgqyN q8QFbl4/4dqx+QqqhGCct7m2oVWE29r/neFMXysKAOAoBbKSQPclzPIuahreCma8YZgb qtvMwtsqrT3i8DQEs03fodIRjctT59opNP/Xkw+01f6YgsNNGMki1zGhfnmUeskwLmEO v1GVBmUjnZu/ZQsfrIJKU4F8lHdJ8j8zKgI3qZvAbEDZTDMCcEa4DQRrkcI+/5Nu7NgD Jufg== X-Gm-Message-State: AOAM532OwBlEzhgmJnff0Hk0VOFvRBFSVoGveY7LJMBA+MDkYMD3fRgz ZRMCJaUPDlfCrJrhKtPowR62NAKk8p79b0mV7Zu0EE1mc7Q= X-Google-Smtp-Source: ABdhPJw2D51V87XPUJBYUyChDlv0X5FuzN9KbJGIKvRd/dWugF7UNvwCTr6URv3485OgZIzE5+NNfPEJYUPCaXnD6tY= X-Received: by 2002:a2e:9549:: with SMTP id t9mr9429542ljh.292.1621436178748; Wed, 19 May 2021 07:56:18 -0700 (PDT) MIME-Version: 1.0 References: <20210519095707.GQ9045-at-fi.muni.cz> In-Reply-To: <20210519095707.GQ9045-at-fi.muni.cz> From: John Dunlap Date: Wed, 19 May 2021 09:56:07 -0500 Message-ID: To: Jan Kasprzak Cc: mod_perl list Content-Type: multipart/mixed; boundary="00000000000076208705c2b00718" Subject: Re: [Learn] Perl-based event server? X-BeenThere: learn-at-nylxs.com X-Mailman-Version: 2.1.30rc1 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: learn-bounces-at-nylxs.com Sender: "Learn"
--00000000000076208705c2b00718 Content-Type: multipart/alternative; boundary="00000000000076208505c2b00716"
--00000000000076208505c2b00716 Content-Type: text/plain; charset="UTF-8"
Good luck. I've begun porting our application to Elixir because of this and other issues.
On Wed, May 19, 2021 at 4:57 AM Jan Kasprzak wrote:
> Hello, mod_perl users, > > TL;DR: which Perl-based solution would you recommend for serving long-term > HTTP connections? > > We use mod_perl for our project, and we would like to add > a component which needs long-term connections (think websockets or > server-side-events > > https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events > ). > We use mpm_prefork for the main site, so adding long-term connections > there is not feasible. So I am looking for alternatives. The logic > behind this application would probably not be overly complicated, > probably just forwarding pub/sub events from Redis or some other > message broker to HTTP clients or something like that. > > I would expect to serve about 30-100k simultaneous connections, > not necessarily handled by a single host. The peak value of 10k connections > per host would be sufficient. I expect I will put haproxy or some other > load balancer in front of these servers, so for example SSL/TLS is not > strictly necessary. > > Is mod_perl with mpm_worker suitable for this task? Or should I use > something AnyEvent-based, such as Twiggy (I don't know whether Twiggy > supports multiple processes/threads)? Or even something completely > different? > > Thanks in advance for any recommendations. > > -Yenya > > -- > | Jan "Yenya" Kasprzak > | > | http://www.fi.muni.cz/~kas/ GPG: 4096R/A45477D5 > | > We all agree on the necessity of compromise. We just can't agree on > when it's necessary to compromise. --Larry Wall >
-- John Dunlap *CTO | Lariat *
*Direct:* *john-at-lariat.co *
*Customer Service:* 877.268.6667 support-at-lariat.co
--00000000000076208505c2b00716 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Good luck. I've begun porting our application to Elixi= r because of this and other issues.
> 8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">=C2=A0 =C2=A0 = =C2=A0 =C2=A0 Hello, mod_perl users,
TL;DR:=C2=A0 which Perl-based solution would you recommend for serving long= -term
=C2=A0 =C2=A0 =C2=A0 =C2=A0 HTTP connections?
=C2=A0 =C2=A0 =C2=A0 =C2=A0 We use mod_perl for our project, and we would l= ike to add
a component which needs long-term connections (think websockets or
server-side-events
nts/Using_server-sent_events" rel=3D"noreferrer" target=3D"_blank">https://= developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-se= nt_events).
We use mpm_prefork for the main site, so adding long-term connections
there is not feasible. So I am looking for alternatives. The logic
behind this application would probably not be overly complicated,
probably just forwarding pub/sub events from Redis or some other
message broker to HTTP clients or something like that.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 I would expect to serve about 30-100k simultane= ous connections,
not necessarily handled by a single host. The peak value of 10k connections=
per host would be sufficient. I expect I will put haproxy or some other
load balancer in front of these servers, so for example SSL/TLS is not
strictly necessary.
=C2=A0 =C2=A0 =C2=A0 =C2=A0 Is mod_perl with mpm_worker suitable for this t= ask? Or should I use
something AnyEvent-based, such as Twiggy (I don't know whether Twiggyr> supports multiple processes/threads)? Or even something completely differen= t?
Thanks in advance for any recommendations.
-Yenya
--
| Jan "Yenya" Kasprzak <kas at {rel=3D"noreferrer" target=3D"_blank">fi.muni.cz - work | p://yenya.net" rel=3D"noreferrer" target=3D"_blank">yenya.net - private= }> |
| nk">http://www.fi.muni.cz/~kas/=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2= =A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0GPG: 4096R/A45477D5 |r> =C2=A0 =C2=A0 We all agree on the necessity of compromise. We just can'= t agree on
=C2=A0 =C2=A0 when it's necessary to compromise.=C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0--Larry Wall
--
mail_signature"> arial">ot;,sans-serif;font-size:large">John Dunlap
ont-size:small;font-family:arial">s",sans-serif">a,sans-serif;font-style:normal">CTO |=C2=A0y:tahoma,sans-serif;font-style:normal">Lariat>;font-style:normal">=C2=A0
l;font-family:arial">serif">font-style:normal">
family:arial">= yle:normal">Direct: t-size:small;font-family:arial">quot;,sans-serif">sans-serif;font-style:normal"> Customer Service: = d:ii_hwm90qu91_146b4d583171a8e6" width=3D"100" height=3D"60"> = div> --00000000000076208505c2b00716-- --00000000000076208705c2b00718 Content-Type: image/png; name="100x60.png" Content-Disposition: attachment; filename="100x60.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: ii_hwm90qu91_146b4d583171a8e6
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 --00000000000076208705c2b00718 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline
_______________________________________________ Learn mailing list Learn-at-nylxs.com http://lists.mrbrklyn.com/mailman/listinfo/learn
--00000000000076208705c2b00718--
|
|