Java Performance Tuning

Java(TM) - see bottom of page

|home |services |training |newsletter |tuning tips |tool reports |articles |resources |about us |site map |contact us |
Tools: | GC log analysers| Multi-tenancy tools| Books| SizeOf| Thread analysers|

Our valued sponsors who help make this site possible
New Relic: Try free w/ production profiling and get a free shirt! 

Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up! 

News February 2016

jKool for DevOps
Light up your Apps & get a cool t-shirt

JProfiler
Get rid of your performance problems and memory leaks!


Java Performance Training Courses
COURSES AVAILABLE NOW. We can provide training courses to handle all your Java performance needs

Java Performance Tuning, 2nd ed
The classic and most comprehensive book on tuning Java

Java Performance Tuning Newsletter
Your source of Java performance news. Subscribe now!
Enter email:


New Relic
New Relic: Try free w/ production profiling and get a free shirt!

Site24x7
Site24x7: Java Method-Level Tracing into Transactions @ $12/Month/JVM. Sign Up!


jKool for DevOps
Light up your Apps & get a cool t-shirt

JProfiler
Get rid of your performance problems and memory leaks!


Back to newsletter 183 contents

We're seeing an increased understanding of the pros and cons of microservices. In this newsletter, I'll list the ones I've gathered from a dozen other newsletters where I've previously extracted microservice performance tips.

A note from this newsletter's sponsor

Site24x7.com : Deep dive Application Performance Monitoring
Fix performance issues with Java, .NET and Ruby platforms
Monitor app instance at $12/Month. 30-day free trial. Sign Up!

Pros:

Decoupled systems have higher fault tolerance and are easier to understand and fix. Improved fault isolation. Ability to upgrade components independently. Easier to scale as you can scale only those services that need to be scaled. Encourages better handling of partial failures (as you can more clearly see interconnectedness). Fast starts. The ability to replace a service completely with a new implementation. Separate optimised data stores for each microservice. Reduced complexity. Less likely to use (and need) huge machines; can use cheaper hardware.

Cons:

Consistency issues across data stores. All the overheads of a service are multipled across the system, as each microservice needs to independently throttle, timeout, circuit break, manage connection and thread pools, pipeline requests asynchronously. Too much decomposition can cause too many network hops, excessive runtime overheads, and a complex interlinked difficult to understand system. Increased communication failures. Testing a distributed system is harder. Additional latency from additional hops. Inefficiencies from multiple processes duplicating their uses of similar resources (eg JVM GC threads). Distributed service issues: split brains, dropped packets, slow networks, other JVMs hitting GC pauses. You need to be much more rigorous in decoupling your components and there is additional deployment and distributed monitoring complexity.

Many of these cons are related to having distributed systems, but if you will be having a fault tolerant clustered system with failover capability you are likely to have the same issues anyway, so for large systems there are fewer cons than it seems here. And increased simplicity of understanding the system may override everything, as the real bottleneck is the people developing and running the system. Now on to our usual links to tools, articles, news, talks and as ever, all the extracted tips from all of this month's referenced articles.

A note from this newsletter's sponsor

Developers wanted in London - We're working on IoT, big data, highly
concurrent high througput 24/7/365 systems, some real-time, needing
total fault tolerance and global distribution. Apply now!

News

Java performance tuning related news.

Tools

Java performance tuning related tools.

A note from this newsletter's sponsor

New Relic - Try New Relic today and get your free Data Nerd shirt!
Free SaaS APM tool to monitor, troubleshoot, and tune apps
running on Websphere, Weblogic, Tomcat, Jetty, JBoss, Solr, Resin

Articles

Jack Shirazi


Back to newsletter 183 contents


Last Updated: 2017-05-01
Copyright © 2000-2017 Fasterj.com. All Rights Reserved.
All trademarks and registered trademarks appearing on JavaPerformanceTuning.com are the property of their respective owners.
Java is a trademark or registered trademark of Oracle Corporation in the United States and other countries. JavaPerformanceTuning.com is not connected to Oracle Corporation and is not sponsored by Oracle Corporation.
URL: http://www.JavaPerformanceTuning.com/news/news183.shtml
RSS Feed: http://www.JavaPerformanceTuning.com/newsletters.rss
Trouble with this page? Please contact us