MICROSERVICES USING SPRING BOOT, JERSEY, SWAGGER AND DOCKER
Having used Spring for some years, I was impressed how easy it is to develop Spring-based apps using Spring Boot, an opinionated framework favoring convention over configuration and more impressed how easy it is to build and use common components of distributed systems using Spring Cloud which is built on top of Spring Boot.
Microservices using Spring Boot Jersey Swagger and Docker— Orlando Otero (@orly_otero) April 5, 2016
Reat at: https://t.co/3Ekd7F1Tne
This is the first of a few entries Spring Cloud Series covers on this blog.
Spring Cloud Series:
- Developing Microservices using Spring Boot, Jersey, Swagger and Docker. | Documenting multiple REST API versions using Spring Boot, Jersey and Swagger.
- Integration Testing using Spring Boot, Postgres and Docker.
- Services registration and discovery using Spring Cloud Netflix Eureka Server and client-side load-balancing using Ribbon and Feign.
- Centralized and versioned configuration using Spring Cloud Config Server and Git.
- Routing and filtering REST traffic using Spring Cloud Netflix Zuul Server.
- Enabling Elasticsearch and Postgres services to register with Spring Cloud Eureka Server using Spring Cloud Netflix Sidecar.
- Implementing Circuit Breaker using Hystrix, Dashboard using Spring Cloud Turbine Server.
Microservices has been a hot topic for a couple of years now, defined as a software architectural style to compose applications from a set of small and collaborating services each one implementing a specific purpose.
This and the other posts in this series are more of a hands-on experience once it has been decided to implement some solution using this pattern. This post won’t cover the trade-off using Microservices or Monolith First as discussed here and here or Don’t Start Monolith school of thoughts. Please follow these links or browse the REFERENCES section if you are also interested in these concepts or debates.
FIXING com.sun.tools.javac.Main IS NOT ON THE CLASSPATH APACHE ANT COMPILATION ERROR
A few days ago I was setting my development environment up and it involved executing some Apache Ant tasks. I had installed latest Java 7, jdk1.7.0_80 to be exact and Ant 1.8.4, required by the project.
Attempted to compile it and got this output:
TROUBLESHOOTING CPU SPIKES IN JAVA APPLICATIONS
Possible causes of high CPU usage in Java apps might be related to:
- Garbage Collector (GC) executing Major or Full collections too frequently without freeing much memory as a result of a memory leak in one of the applications served by the servlet container or a leak in the servlet container itself.
- GC often executing Major or Full collections (similar to previous suggestion) because in fact, the application needs more memory.
- Issues with the application like resource contention, long running jobs, expensive computation, …
The intention of this entry is to document a simple process to troubleshoot high CPU usage in Java apps once it has been observed that it’s not related to GC.
Troubleshooting high CPU usage in Java applications— Orlando Otero (@orly_otero) July 1, 2016
Read at: https://t.co/m4TBBCq8sa
1) FIND THE JVM PROCESS
TECH.ASIMIO.NET = AWS S3 + JEKYLL + JENKINS
Creating a blog was in my TODO list for too long, being too ambitious prevented it me from just getting it up. WordPress or Drupal + phpCAS or Java-based blog/CMS + Jasig CAS for Single Sign On between the blog + Asimio.net; it was too complex and time-consuming.
A static blog hosted on AWS S3, built with Jekyll and Jenkins— Orlando Otero (@orly_otero) July 1, 2016
Read at: https://t.co/6yea0ZtVRL
Earlier this year I read Soft Skills: The software developer’s life manual which I found it to be a really interesting book and that was it, I was decided to start a blog, but took a different route than what was suggested, it had to be simple and fun where I would learn something new in the process and after a day of quick research, I decided it to use Jekyll to generate a static blog and hosted it on Amazon S3 since I’m already using a couple of AWS services with Asimio.net.
In this post I’ll detail how to accomplish this and optionally, use Jenkins to implement a Continuous Deployment approach to automatically deploy the blog when new posts become available. It will also serve me as a short how to guide in case I decide to create a static site again.
Asimio.net is a side project I have been working on for a few years now to catch up or play with technology that I don’t necessarily use as part of my daily job.
It’s a rental property information services provider that allows to search for vacant properties and registered users to list their properties, upload photos and save searches.