<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Blog4Java &#187; C10K problem</title>
	<atom:link href="http://malsolo.com/blog4java/?feed=rss2&#038;tag=c10k-problem" rel="self" type="application/rss+xml" />
	<link>http://malsolo.com/blog4java</link>
	<description>A personal and Java blog, likely only for me</description>
	<lastBuildDate>Tue, 31 Mar 2015 15:52:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=4.1.1</generator>
	<item>
		<title>Moday&#8217;s programming buzzwords &#8211; July 21th, 2014</title>
		<link>http://malsolo.com/blog4java/?p=195</link>
		<comments>http://malsolo.com/blog4java/?p=195#comments</comments>
		<pubDate>Wed, 23 Jul 2014 11:02:35 +0000</pubDate>
		<dc:creator><![CDATA[Javier (@jbbarquero)]]></dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[C10K problem]]></category>
		<category><![CDATA[MongoDB]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Vert.x]]></category>

		<guid isPermaLink="false">http://malsolo.com/blog4java/?p=195</guid>
		<description><![CDATA[Vert.x, C10k problem, Node.js, MongoDB. Vert.x is a application platform, that claims to be lightweight and high performance, and it&#8217;s for the JVM. To summarize, is a Java (and JavaScript, CoffeeScript, Ruby, Python or Groovy) Async I/O platform. Node.js is &#8230; <a href="http://malsolo.com/blog4java/?p=195">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><strong>Vert.x</strong>, <strong>C10k problem</strong>, <strong>Node.js</strong>, <strong>MongoDB</strong>.</p>
<p><a href="http://vertx.io/" title="Vert.x" target="_blank">Vert.x</a> is a application platform, that claims to be lightweight and high performance, and it&#8217;s for the JVM. To summarize, is a Java (and JavaScript, CoffeeScript, Ruby, Python or Groovy) <a href="http://en.wikipedia.org/wiki/Asynchronous_I/O" title="Asynchronous I/O" target="_blank">Async I/O</a> platform.</p>
<p><a href="http://nodejs.org/" title="Node.js" target="_blank">Node.js</a> is a platform built on Chrome&#8217;s JavaScript runtime. Once again, event-driven, non-blocking I/O model.</p>
<p>Both of them are intended for solving the <a href="http://www.kegel.com/c10k.html" title="The C10K problem" target="_blank">C10k problem</a>.</p>
<p>For doing so, they follow the <a href="http://en.wikipedia.org/wiki/Reactor_pattern" title="Reactor pattern" target="_blank">Reactor Pattern</a>. It consists in an event loop that waits for Events that are handle concurrently by delivering these events to the appropriate service handler.</p>
<p>The main differences between <a href="http://vertx.io/" title="Vert.x" target="_blank">Vert.x</a> and <a href="http://nodejs.org/" title="Node.js" target="_blank">Node.js</a> is that the former has several threads as event loops (one per core) and the latter has one thread only, besides, <a href="http://vertx.io/" title="Vert.x" target="_blank">Vert.x</a> has special components (called <a href="http://vertx.io/manual.html#writing-blocking-code-introducing-worker-verticles" title="Writing blocking code - introducing Worker Verticles" target="_blank">Worker Verticles</a>) for writing blocking code (long-lived computationally intensive operation, calling third party components, as JDBC queries), so that you can avoid to block the event loop.</p>
<p><a href="http://en.wikipedia.org/wiki/C10k_problem" title="C10k problem" target="_blank">C10K problem</a> is the problem of having to handle suddenly a thousand of clients at the same time with a server that has to handle only several requests as its normal task (I mean, it&#8217;s a huge waste to configure this server for an average of thousands of connections only for occasional peaks)</p>
<p><a href="http://www.mongodb.org/" title="MongoDB" target="_blank">MongoDB</a> is an open-source document database, NoSQL database. <a href="http://www.mongodb.org/about/introduction/" title="Introduction to MongoDB" target="_blank">It claims</a> to provide high performanc (fast reads and writes), high availability (with replicated servers), and easy scalability (with automatic <a href="http://docs.mongodb.org/manual/core/sharding/" title="Sharding Concepts" target="_blank">sharding</a> among the servers).</p>
]]></content:encoded>
			<wfw:commentRss>http://malsolo.com/blog4java/?feed=rss2&#038;p=195</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
