From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Mon, 8 Oct 2018 13:44:54 +0300 From: Vladimir Davydov Subject: Re: [tarantool-patches] [PATCH v2] iproto: introduce a proxy module. Message-ID: <20181008104454.k7mj7sb4vhlrgbwa@esperanza> References: <20181002180554.1142-1-sergepetrenko@tarantool.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20181002180554.1142-1-sergepetrenko@tarantool.org> To: Serge Petrenko Cc: tarantool-patches@freelists.org List-ID: On Tue, Oct 02, 2018 at 09:05:54PM +0300, Serge Petrenko wrote: > By default, upon new client connection, all requests from the client are > forwarded through "guest" connection. Upon recieving an AUTH request, > proxy processes it on a local instance (this can be done, since proxy is > being run on one of the cluster instances and has access to user data). > If auth is successful, new client requests are forwarded through > corresponding user connection, otherwise, proxy keeps forwarding request > through guest connection. Before diving in the code, I'd like to inquire why you think that a proxy should forward all user connections with the same credentials through a single connection to the master. AFAIU this complicates the implementation quite a bit and may negatively affect performance as this design implies joggling with sync sequences. What if the user deliberately created several connections so as to avoid throttling certain transactions on hitting the network buffer limit? I don't think that it's right to push all requests through the same queue then.