<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
  <channel>
    <title>Recent Posts in Release It! | Pragmatic Forums</title>
    <link>http://forums.pragprog.com/forums/46/posts</link>
    <language>en-us</language>
    <ttl>60</ttl>
    <item>
      <title>More detail on the OpsDB posted by denis krizanovic @ Tue, 19 Feb 2008 02:38:59 -0000</title>
      <description>&lt;p&gt;Hi,&lt;/p&gt;


	&lt;p&gt;Is it possible to get more details on the opsDB &amp;#8211; perhaps a worked example, with the most common types of observations/expectations. It&amp;#8217;d be good to see some code too.. Samplers, perhaps some of the stored-procs that figure out expectation misses, etc.&lt;/p&gt;


	&lt;p&gt;Also, some management data on the opsDB approach. Time to develop. Time saved by Ops, etc. So we can have a rich discussion about the investment needed for such a thing.&lt;/p&gt;


	&lt;p&gt;As you may deduce, I&amp;#8217;m quite interested and excited by this area.&lt;/p&gt;</description>
      <pubDate>Tue, 19 Feb 2008 02:38:59 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:268:2300</guid>
      <author>denis krizanovic</author>
      <link>http://forums.pragprog.com/forums/46/topics/268</link>
    </item>
    <item>
      <title>'Distributed' circuit breakers: co-ordinate or not? posted by Oliver Kamps @ Thu, 14 Feb 2008 08:55:53 -0000</title>
      <description>&lt;p&gt;Hi Mike,&lt;/p&gt;


	&lt;p&gt;Thanks for sharing your thoughts so quickly on this.&lt;/p&gt;


	&lt;p&gt;Your reasoning makes a lot of sense to me; I was leaning in the same direction but hadn&amp;#8217;t thought things through that far.&lt;/p&gt;


	&lt;p&gt;Cheers,&lt;br /&gt;Oliver&lt;/p&gt;</description>
      <pubDate>Thu, 14 Feb 2008 08:55:53 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:262:2292</guid>
      <author>Oliver Kamps</author>
      <link>http://forums.pragprog.com/forums/46/topics/262</link>
    </item>
    <item>
      <title>Tim Ross released a C# circuit breaker posted by Michael Nygard @ Thu, 14 Feb 2008 05:46:03 -0000</title>
      <description>&lt;p&gt;Tim Ross has published his implementation of the Circuit Breaker pattern, complete with unit tests.&lt;/p&gt;


	&lt;p&gt;I barely speak C#, so I&amp;#8217;m not in any position to review his implementation, but I&amp;#8217;m delighted to see it!&lt;/p&gt;


	&lt;p&gt;See &lt;a href="http://timross.wordpress.com/2008/02/10/implementing-the-circuit-breaker-pattern-in-c/"&gt;Tim&amp;#8217;s Blog&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Thu, 14 Feb 2008 05:46:03 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:264:2291</guid>
      <author>Michael Nygard</author>
      <link>http://forums.pragprog.com/forums/46/topics/264</link>
    </item>
    <item>
      <title>'Distributed' circuit breakers: co-ordinate or not? posted by Michael Nygard @ Thu, 14 Feb 2008 05:40:54 -0000</title>
      <description>&lt;p&gt;Oliver,&lt;/p&gt;


	&lt;p&gt;The prospect of coordinating circuit breakers makes e very nervous, for a couple of reasons. Coordinating across the circuit breakers would either be done via point-to-point connections, which suggests a scalability problem, or via broadcast messages. (Broadcasts would not present a scalability problem.)&lt;/p&gt;


	&lt;p&gt;I see a second, slightly more subtle problem. Suppose a farm of 10 servers is calling a back end system. Due to an external event, maybe load-related, maybe human-error, whatever, disrupts the back end.  If the first circuit breaker causes all 10 to stop making calls, then when the time limit passes, all 10 will start making calls at the same time.  This can cause a surge in load on the newly restored back end system, exactly the same as when the power company restores service after a summertime blackout, only to have thousands of air conditioners turn on immediately. The surge in demand can destabilize the back end.&lt;/p&gt;


	&lt;p&gt;Finally, coordinating actions across the entire tier will tend to make the whole cluster react.  If you assume that the circuit breaker trips only because of a problem with the back end, then communication between the circuit breakers would save a little bit of time.  On the other hand, I have seen problems affect one host, disrupting its connection to the back end, thus causing circuit breakers to trip.  If the problem is confined to that one host, you would not want the other circuit breakers to also flip open.  (Imagine, for example, a failed &lt;span class="caps"&gt;NIC&lt;/span&gt; on that host.  It still makes sense to protect the application by aborting the calls, even though it&amp;#8217;s not strictly a problem with the back end system.)&lt;/p&gt;


	&lt;p&gt;So, in summary, I would choose not to have the circuit breakers communicate their status with each other.&lt;/p&gt;


	&lt;p&gt;Cheers,&lt;br /&gt;-Mike Nygard&lt;/p&gt;</description>
      <pubDate>Thu, 14 Feb 2008 05:40:54 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:262:2290</guid>
      <author>Michael Nygard</author>
      <link>http://forums.pragprog.com/forums/46/topics/262</link>
    </item>
    <item>
      <title>'Distributed' circuit breakers: co-ordinate or not? posted by Oliver Kamps @ Wed, 13 Feb 2008 16:14:48 -0000</title>
      <description>&lt;p&gt;Hello everybody,&lt;/p&gt;


	&lt;p&gt;Assume a redundantly deployed component (e.g. the same &lt;span class="caps"&gt;EJB&lt;/span&gt; deployed to a number of Java EE server instances) has an integration point to an external system and I&amp;#8217;d want to make this more robust using a Circuit Breaker. Would you have the different instances of the Circuit Breaker communicate with each other (i.e. if one flips open, they all do)? Or would this be overkill as they&amp;#8217;d probably all flip open within a short period of time anyway if there&amp;#8217;s a systemic problem?&lt;/p&gt;


	&lt;p&gt;Thanks a lot,&lt;/p&gt;


	&lt;p&gt;Oliver&lt;/p&gt;</description>
      <pubDate>Wed, 13 Feb 2008 16:14:48 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:262:2287</guid>
      <author>Oliver Kamps</author>
      <link>http://forums.pragprog.com/forums/46/topics/262</link>
    </item>
    <item>
      <title>Beginning to release some sample code posted by Michael Nygard @ Mon, 10 Dec 2007 05:07:42 -0000</title>
      <description>&lt;p&gt;I&amp;#8217;ve decided to start putting sample code up at &lt;a href="http://www.michaelnygard.com/"&gt;http://www.michaelnygard.com/&lt;/a&gt;.  The first piece is a quick utility class to format java.util.logging files in a one-line, column-aligned format.&lt;/p&gt;


	&lt;p&gt;More to come.  I&amp;#8217;m thinking about working on an evil Test Harness next.&lt;/p&gt;</description>
      <pubDate>Mon, 10 Dec 2007 05:07:42 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:165:2008</guid>
      <author>Michael Nygard</author>
      <link>http://forums.pragprog.com/forums/46/topics/165</link>
    </item>
    <item>
      <title>Assuring Availability of Administration Aspect posted by Michael Nygard @ Tue, 27 Nov 2007 06:25:00 -0000</title>
      <description>&lt;p&gt;Sean,&lt;/p&gt;


	&lt;p&gt;One of the problems with writing a book that works for many different products and vendors is that you have to treat some topics generally.  Thread pool configuration is an area that varies wildly from one application server to another.&lt;/p&gt;


	&lt;p&gt;For instance, with &lt;span class="caps"&gt;ATG&lt;/span&gt;, the administration aspect is automatically served by a reserved pool of threads.  Not so for Tomcat.  In Tomcat, request handling threads are associated with individual Connectors. So, if all you want to do is reserve capacity for admin work, then a new connector is all you require.&lt;/p&gt;


	&lt;p&gt;It&amp;#8217;s a bit more work to make sure that the admin context is completely separated from the application contexts. (As a security enhancement, that is.)  To do that, you need to bind the admin Connector to the IP address of your administrative &lt;span class="caps"&gt;NIC&lt;/span&gt;, while also binding the application Connector to the IP address of your production &lt;span class="caps"&gt;NIC&lt;/span&gt; (or teamed &lt;span class="caps"&gt;NIC&lt;/span&gt; pair).&lt;/p&gt;


	&lt;p&gt;This &lt;em&gt;still&lt;/em&gt; has the drawback that /admin resolves correctly via either IP address &amp;#38; port.  That is to say, both Connectors can reach exactly the same set of contexts because they reside in the same Service.  To really achieve complete separation, you will need to create a second Service with its own Engine, Host, and application base.&lt;/p&gt;


	&lt;p&gt;Of course, it&amp;#8217;s a pretty good idea to separate the admin function from the application function anyway, so this isn&amp;#8217;t a bad approach&amp;#8230; but it&amp;#8217;s not an easy one, either.&lt;/p&gt;


	&lt;p&gt;Needless to say, WebSphere, JBoss, and WebLogic each have their own completely different ways to configure bulkheads.&lt;/p&gt;


	&lt;p&gt;Cheers,&lt;br /&gt;Michael T. Nygard&lt;br /&gt;&lt;a href="mailto:michael@michaelnygard.com"&gt;michael@michaelnygard.com&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.michaelnygard.com/"&gt;http://www.michaelnygard.com/&lt;/a&gt;&lt;/p&gt;


	&lt;p&gt;Author of &amp;#8220;Release It!&amp;#8221; &lt;br /&gt;&lt;a href="http://pragmaticprogrammer.com/titles/mnee/index.html"&gt;http://pragmaticprogrammer.com/titles/mnee/index.html&lt;/a&gt;&lt;/p&gt;</description>
      <pubDate>Tue, 27 Nov 2007 06:25:00 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:150:1967</guid>
      <author>Michael Nygard</author>
      <link>http://forums.pragprog.com/forums/46/topics/150</link>
    </item>
    <item>
      <title>Assuring Availability of Administration Aspect posted by Sean Dockery @ Fri, 23 Nov 2007 08:01:19 -0000</title>
      <description>&lt;p&gt;Hello Michael.&lt;/p&gt;


	&lt;p&gt;In your book, you discuss how applications should allocate various request handling thread pools to separate the customer request handling from other request handling, with the intent that the application can still be controlled or queried for its status despite being pummeled by customers.  You didn&amp;#8217;t suggest how this goal is achieved in real life, however.&lt;/p&gt;


	&lt;p&gt;For example, if I want to deploy my application to Tomcat (which I believe is configured to allow 100 concurrent requests out of the box), how do I go about ensuring that certain request threads run against one aspect (customers) versus another (administration)?  Can this be done while allowing both the customer and administration aspects of an application to exist in the same web component, or do I need to deploy separate web components under two (or more) Services declared in the server.xml?  Do you recommend multiple Services, or multiple instances of Tomcat (i.e.: &lt;span class="caps"&gt;JVM&lt;/span&gt;&amp;#8217;s) to mitigate the risk?&lt;/p&gt;


	&lt;p&gt;Thanks.&lt;/p&gt;</description>
      <pubDate>Fri, 23 Nov 2007 08:01:19 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:150:1963</guid>
      <author>Sean Dockery</author>
      <link>http://forums.pragprog.com/forums/46/topics/150</link>
    </item>
    <item>
      <title>cicuit breakers posted by Mohamed Mansour @ Mon, 05 Nov 2007 18:43:59 -0000</title>
      <description>&lt;p&gt;Hello, it would be better to see it in Java, since we can use that code to write in other languages as well, since a oneliner in ruby wouldn&amp;#8217;t be usefull to extend in other languages.&lt;/p&gt;</description>
      <pubDate>Mon, 05 Nov 2007 18:43:59 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:116:1906</guid>
      <author>Mohamed Mansour</author>
      <link>http://forums.pragprog.com/forums/46/topics/116</link>
    </item>
    <item>
      <title>cicuit breakers posted by Dmitry Beransky @ Fri, 26 Oct 2007 23:39:26 -0000</title>
      <description>&lt;p&gt;Thanks for the reply, Mike.  I was just wondering if there was anythgin out there before starting coding on my own.  An open source project would be cool, though, especially if it&amp;#8217;s in Java, then I could even try to contribute.  If it ends up being in Ruby, not a problem either, I can always rewrite it in Java myself.&lt;/p&gt;


	&lt;p&gt;thanks&lt;br /&gt;d.&lt;/p&gt;</description>
      <pubDate>Fri, 26 Oct 2007 23:39:26 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:116:1882</guid>
      <author>Dmitry Beransky</author>
      <link>http://forums.pragprog.com/forums/46/topics/116</link>
    </item>
    <item>
      <title>cicuit breakers posted by Michael Nygard @ Mon, 22 Oct 2007 20:54:10 -0000</title>
      <description>&lt;p&gt;Dmitry,&lt;/p&gt;


	&lt;p&gt;The name &amp;#8220;Circuit Breaker&amp;#8221; is one that I coined, so I would not expect to find many references to it (yet.)&lt;/p&gt;


	&lt;p&gt;The existing implementations I&amp;#8217;ve used are proprietary and are not something I can share.  One of the common requests I&amp;#8217;ve heard, however, is for some sample code.  I am considering taking this on as an open source project.&lt;/p&gt;


	&lt;p&gt;What language would be most useful?  I&amp;#8217;m torn between doing an implementation in Ruby, where I might be able to use metaprogramming techniques to make using a circuit break a one-line declarative statement, versus doing it in Java, which has much more widespread applicability in the enterprise.&lt;/p&gt;


	&lt;p&gt;Cheers,&lt;br /&gt;-Mike Nygard&lt;/p&gt;</description>
      <pubDate>Mon, 22 Oct 2007 20:54:10 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:116:1872</guid>
      <author>Michael Nygard</author>
      <link>http://forums.pragprog.com/forums/46/topics/116</link>
    </item>
    <item>
      <title>cicuit breakers posted by Dmitry Beransky @ Sun, 21 Oct 2007 05:47:03 -0000</title>
      <description>&lt;p&gt;Mike,&lt;/p&gt;


	&lt;p&gt;you talk a lot about circuit breakers and it sounds like a very useful pattern, indeed.  Are there any existing implementations?  A cursory google search didn&amp;#8217;t return any results. Perhaps, the pattern is also known under a different name?&lt;/p&gt;


	&lt;p&gt;Thanks&lt;br /&gt;Dmitry&lt;/p&gt;</description>
      <pubDate>Sun, 21 Oct 2007 05:47:03 -0000</pubDate>
      <guid isPermaLink="false">forums.pragprog.com:46:116:1866</guid>
      <author>Dmitry Beransky</author>
      <link>http://forums.pragprog.com/forums/46/topics/116</link>
    </item>
  </channel>
</rss>
