Performance, Scalability, Monitoring and Robustness -- with tools hacks and workarounds.
JVM and Java EE application servers come with an amazing set of useful features and monitoring capabilities. In this workshop we will focus on debugging, tuning, bottleneck-, deadlock- and memory leak hunting.
Attendance at Effective Java EE, Java EE Microservices or similar project experience.
- Application servers "under the hood": request queues, thread pools, connections, acceptors (...)
- Performing stress and load tests
- Typical design flaws of Java EE applications
- Identifying performance bootlenecks
- Identifying memory leaks
- Using built-in monitoring capababilities
- Exposing and integrating healthchecks
- Implementing Key Performance Indicators and metrics
- Application server tuning
- JVM tuning in Java EE context
- Tools and utilities
- Designing for scalability
- Load balancing with or without clusters
- Logging and exception handling strategies
- Designing health checks
- Dealing with concurrency
- Impact of transactions on performance and scalability
- Implementing centralized logging with ELK
- Implementing centralized metrics with prometheus
In this advanced workshop I would like to explain the most significant features with working code and prepared examples. As a reference, you will get a GIT repository with all snippets and solutions, as well as prepared sample applications.
A developer laptop with pre-installed Java 1.8, GIT-client and Maven 3 is required to run the examples. You can run the examples if you like, or "hack" along with me, but taking notes is perfectly viable as well.
I/we will spend 90% of the time in code.
Feel free to contact me / register via email: workshops[-AT-]adam-bien.com