NetKernel News Volume 5 Issue 7 - On Microservices

NetKernel News Volume 5 Issue 7

May 2nd 2014

Catch up on last week's news here, or see full volume index.

Repository Updates

The following update is available in the NKEE and NKSE repositories

  • layer0-1.103.1
    • Fix to prevent potential NPE in HDS.equals()
  • nkse-dev-tools-1.61.1
    • Space explorer tools breadcrumb navigation now has root link to the master module list
    • Exception handler now dynamically responds to Accept header to provide simplified error reporting such as if you're not requesting with a browser. Full text/html report is now only provided if the client Accept's text/html.

Please note updates are published in the 5.2.1 repository.

Asynchronous HTTP Client - Beta Testing Update

After some hard core testing we (Tom Geudens actually) discovered a pretty serious file handle leak related to the NIO acceptors that the async client uses. Since there's very little documentation, we managed to reverse engineer the Apache client code and have been able to prevent this. Today's snapshot seems to perform as expected and has been in production for a couple of weeks without any issues.

We're still using an abundance of caution before we release this - so please give it a try and let us know your feedback - although we can consider this as a release candidate snapshot.

If you're wondering how to spot file handle leaks then this trick will help...

lsof |wc -l

Repeated use of the client should see an initial pool of about 10 NIO FIFOs but these will be recycled for the life of the accessor and its embedded client. There will be one client per unique configuration argument (with one pool for the default config if you don't specify one). So you may potentially see a few file handles associated with each pool - but the important thing is that under repeated use the count should not grow after the initial use.


To try this release candidate out, you can get it here:

Mod HDS2 - Release Candidate

We have a new release of the HDS2 module and after extensive real-world testing is approaching release candidate status.

I asked Tony for a few notes on what's new, he was busy writing the article on micro-services (below), so his succinct summary is:

Rounded out with a complement of transreptors to and from binary stream, string, HDS1 and DOM.


Please give it a go and let us know how what you think, we'll keep it as a seperate download for now, but very soon we'll make it available as an installable package in Apposite:

On Micro-Services

Its been a long time coming, but people are finally starting to talk about micro-services. Of course when they say "micro-service" what they really mean is a "resource".

The early adopters are assuming a default behaviour in which you build stuff by combining resources (micro-services) using "proper code".

Tony has written an in-depth article that discusses the current micro-service perspective and discusses the innate limits imposed by the code-centric perspective being taken...

Why microservices and not yoctoservices

He makes the case that ultimately, your first step towards micro-services must inevitably lead you to Resource Oriented Computing and a brand new set of engineering challenges (which fortunately, we solved a decade ago).

So adopting Tony's "HDS-update"-like brevity, I'll summarise as...

Hello, its very nice to see you. You're going the right way. We've been waiting and we've got lots to share with you. We've solved the engineering challenge that you're about to discover. Welcome, welcome...

Have a great weekend.


Please feel free to comment on the NetKernel Forum

Follow on Twitter:

@pjr1060 for day-to-day NK/ROC updates
@netkernel for announcements
@tab1060 for the hard-core stuff

To subscribe for news and alerts

Join the NetKernel Portal to get news, announcements and extra features.

NetKernel will ROC your world

Download now
NetKernel, ROC, Resource Oriented Computing are registered trademarks of 1060 Research

© 2008-2011, 1060 Research Limited