#DRY is an important principle in software development. This post will show you how to apply it to #ApacheAPISIX configuration.
#DRY is an important principle in software development. This post will show you how to apply it to #ApacheAPISIX configuration.
When I introduce #ApacheAPISIX in my talks, I mention the massive number of existing plugins, and that each of them implements a specific feature. One of the key features of Apache APISIX is its flexibility. If a feature is missing, you can create your own #plugin, showcasing the platform’s adaptability to your specific needs. In this post, I aim to provide practical alternatives to writing a custom plugin, offering solutions you can quickly implement in your projects.
Lots of service providers offer a #freetier of their service. The idea is to let you kick their service’s tires freely. If you need to go above the free tier at any point, you’ll likely stay on the service and pay. In this day and age, most services are online and accessible via an #API. Today, we will implement a free tier with #ApacheAPISIX.
Last week, I described how to add a dynamic #watermark to your images on the JVM. Another alternative is to use ready-made components, namely #imgproxy and #ApacheAPISIX I already combined them to resize images on-the-fly.
Here's how to achieve it:
Recently, I had to use #GitHubPages to publish my #ApacheAPISIX workshop. Travis is no longer free. #GitHubActions are a thing. I used the now nominal path and faced a few hurdles; here are my findings.
I continue to work on my #OpenTelemetry demo. Its main idea is to showcase traces across various technology stacks, including #asynchronous communication via an #MQTT queue. This week, I added a couple of components and changed the #architecture. Here are some noteworthy learnings; note that some of them might not be entirely connected to @opentelemetry
https://blog.frankel.ch/even-more-opentelemetry/
#Observability #DistributedTracing #ApacheAPISIX @graalvm #Golang #Ruby
I recently read a post on "6 Ways To Pass Parameters to #Spring #REST API". Though the title is a bit misleading, as it’s unrelated to REST, it does an excellent job listing all ways to send parameters to a Spring application. I want to do the same for #ApacheAPISIX; it’s beneficial when you write a custom plugin.
Last week, I wrote an analysis of the #ITEF #Idempotency-Key specification. The specification aims to avoid duplicated requests. In short, the idea is for the client to send a unique key along with the request:
* If the server doesn’t know the key, it proceeds as usual and then stores the respons
* If the server knows the key, it short-circuits any further processing and immediately returns the stored response
This post shows how to implement it with #ApacheAPISIX.
Last week, we listed 16 practices to help secure one’s APIs and described how to implement 7 of them with #ApacheAPISIX.
This week, we will look at the remaining practices.
In my previous post Evolving your APIs, I mention the main #API #versioning approaches. During the talk of the same name, I sometimes get some questions on the subject. In this post, I’ll detail each of them, and how you can implement them with #ApacheAPISIX
The post will cover two alternatives to resize images: the traditional storage-heavy one and a on-the-fly one with #imgproxy
and #ApacheAPISIX
Down the rabbit hole of an #ApacheAPISIX
#plugin
Apache APISIX is a high-performance API gateway with enough #MQTT protocol awareness to do loadbalancing based on the MQTT ClientID.
You have to terminate TLS on Apisix to allow for protocol awareness.
#MQTT #VerneMQ #ApacheApisix #apisix
https://github.com/apache/apisix
#etcd is an great key-value distributed database. It’s a great option, and that’s the reason why #ApacheAPISIX uses it too. Yet, it’s not devoid of issues.
You may prefer to use a #SQL database with APISIX. In this post, I show how you can use #MySQL instead.