Quantcast
Channel: Tech Annotation
Browsing all 131 articles
Browse latest View live

RabbitMQ – Observability and Monitoring

Looking inside an application to understand how it’s going and what, potentially, is wrong is a “must have” when you’re drawing a solution. RabbitMQ is not an exception at this requirement thus, we...

View Article


How Logstash can carry your logs for you

Logstash is a very useful tool to help you carry logs from your application inside a search engine as ElasticSearch for Log aggregations. Once logs imported, you could analize them by using a visual...

View Article


Make API predictable – HTTP Response Status Codes

Make Api predictable is a best practice that helps developers to keep code maintainable and avoid bugs. In the same way, Clients can use them without unexpected behaviours or pitfalls. Give back a...

View Article

Goodbye RestTemplate – let’s welcome WebClient Interface

RestTemplate has been declared “deprecated” since Spring Framework version 5.2.2. WebClient is its announced substitute and brings the reactive approach at runtime. So, this means not a simple “find...

View Article

Pull and Push Metrics inside Grafana

Application monitoring is always a vital activity. Unfortunately, it’s not an easy task and, frequently, logs are not enough to work out problems as load average, run out of resources, and even...

View Article


irate() vs rate() – What’re they telling you?

Prometheus makes available great functions for data aggregation by timeline. Among these functions, I focused my analysis on irate() and rate() which give us similar outcomes but they work in different...

View Article

Grafana – it’s not only a metrics matter

Metrics are useful, they tell you how your application is going, but they might not be enough when you came across an issue. Applications produce logs, and you need to dig into them to find out what...

View Article

RabbitMQ Exchange types – Put them into practice

Event Driven Architecture is a growing solution in a lot of projects where Event-Driven pattern is adopted. RabbitMQ makes available a message broker to get communication between different components...

View Article


RabbitMQ – Observability and Monitoring

Looking inside an application to understand how it’s going and what, potentially, is wrong is a “must have” when you’re drawing a solution. RabbitMQ is not an exception at this requirement thus, we...

View Article


How Logstash can carry your logs for you

Logstash is a very useful tool to help you carry logs from your application inside a search engine as ElasticSearch for Log aggregations. Once logs imported, you could analize them by using a visual...

View Article

Make API predictable – HTTP Response Status Codes

Make Api predictable is a best practice that helps developers to keep code maintainable and avoid bugs. In the same way, Clients can use them without unexpected behaviours or pitfalls. Give back a...

View Article

Goodbye RestTemplate – let’s welcome WebClient Interface

RestTemplate has been declared “deprecated” since Spring Framework version 5.2.2. WebClient is its announced substitute and brings the reactive approach at runtime. So, this means not a simple “find...

View Article

Reactive or Asynchronous? Trying Avoid any headache choice

Is it better to use Spring Webflux project, with its Reactive API, or Asyncronous support for calling a method in separates thread? Performance, resource consumption, how many factors should I consider...

View Article


RESTFul Api – Response status and operation result

Giving back a meaningful http status code and message to a client when it invokes our RESTFul service is a correct and desirable behaviour expected by our consumers. It’s not enough including the...

View Article

Apache Kafka and Rabbit – Dealing with Stream

Very often I come accross article about Stream processing in Message Broker (Apache Kafka, RabbitMq, …) where it seems that the difference between a traditional and Stream message processing depends on...

View Article


Why is Java moving to Functional Programming ?

Functional Programming (FP) has been introduced in JDK since version 8 with JSR 335 (Lambda Expressions for the Java Programming Language). Frameworks as Spring and others have been changing their...

View Article

Can Ci/Cd get on with databases?

While it’s easy to apply Ci/Cd to stateless components such an application or job, the things become more complicated when we try applying the same method to statefull infrastructure as database or...

View Article


Combining cloneable interface with Memento Pattern

Clonable interface and Memento pattern: what do they have in common? At first glance, I’d say nothing, the first is a JDK interface while the last is a programming language pattern, yet, once bind...

View Article

How Logstash can carry your logs for you

Logstash is a very useful tool to help you carry logs from your application inside a search engine as ElasticSearch for Log aggregations. Once logs imported, you could analize them by using a visual...

View Article

Make API predictable – HTTP Response Status Codes

Make Api predictable is a best practice that helps developers to keep code maintainable and avoid bugs. In the same way, Clients can use them without unexpected behaviours or pitfalls. Give back a...

View Article
Browsing all 131 articles
Browse latest View live