Thanks for your reply, that is certainly reassuring. —
Sent from Mailbox for iPhone

On Sat, Mar 8, 2014 at 12:24 PM, Ryan Schmidt <[email protected]>
wrote:

> On Mar 7, 2014, at 22:12, alma wrote:
>> Having thought through the proposed architecture I realized that independent 
>> auctions will end up blocking each other due to the single-threaded nature 
>> of Node JS and the databases. For example, consider that there are two live 
>> auctions; Auction A and Auction B. If a user submits a bid in Auction A, 
>> whilst this bid is being processed by the server another user is essentially 
>> blocked from submitting a bid in Auction B. This is not ideal as the two 
>> auctions are completely independent of each other and do not share any 
>> state. As the site hosts more concurrent auctions this delay will increase.
> Such delay will only be the fraction of a second it takes to start processing 
> the web request. In the likely event that your request involves database 
> transactions or any other asynchronous data gathering, control will be 
> returned to the libuv event loop while the data gathering occurs, freeing up 
> the event loop to handle other web requests.
> I really don't think the problem you're envisioning will be a problem for you 
> at all.
>> Is there any way that I can architect the application so that this is not 
>> the case and that multiple auctions can run in a truly concurrent fashion?
> Use a multiple-core server computer and run multiple copies of your node 
> application via the built-in cluster module or other similar method, or even 
> run multiple copies of the node application on multiple physical servers.
> All these copies of the node application can connect to the same database 
> server. If performance becomes a problem, the database server could be on its 
> own physical server, or be distributed among multiple physical servers.
> In short, you'd plan to scale your node web servers, and your database 
> servers, separately, as needed.
> -- 
> -- 
> Job Board: http://jobs.nodejs.org/
> Posting guidelines: 
> https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
> You received this message because you are subscribed to the Google
> Groups "nodejs" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nodejs?hl=en?hl=en
> --- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "nodejs" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/nodejs/DlTh6UnHpw0/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to 
> [email protected].
> For more options, visit https://groups.google.com/d/optout.

-- 
-- 
Job Board: http://jobs.nodejs.org/
Posting guidelines: 
https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"nodejs" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to