med-mastodon.com is one of the many independent Mastodon servers you can use to participate in the fediverse.
Medical community on Mastodon

Administered by:

Server stats:

361
active users

#apacheapisix

0 posts0 participants0 posts today
Nicolas Fränkel 🇺🇦🇬🇪<p><a href="https://mastodon.top/tags/DRY" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DRY</span></a> is an important principle in software development. This post will show you how to apply it to <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> configuration.</p><p><a href="https://blog.frankel.ch/dry-apisix-config/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/dry-apisix-con</span><span class="invisible">fig/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>When I introduce <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> 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 <a href="https://mastodon.top/tags/plugin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plugin</span></a>, 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.</p><p><a href="https://blog.frankel.ch/when-write-apisix-plugin/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/when-write-api</span><span class="invisible">six-plugin/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Lots of service providers offer a <a href="https://mastodon.top/tags/freetier" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>freetier</span></a> 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 <a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a>. Today, we will implement a free tier with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p><a href="https://blog.frankel.ch/free-tier-api-apisix/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/free-tier-api-</span><span class="invisible">apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, I described how to add a dynamic <a href="https://mastodon.top/tags/watermark" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>watermark</span></a> to your images on the JVM. Another alternative is to use ready-made components, namely <a href="https://mastodon.top/tags/imgproxy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>imgproxy</span></a> and <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> I already combined them to resize images on-the-fly.</p><p>Here's how to achieve it:</p><p><a href="https://blog.frankel.ch/dynamic-watermarking/2/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/dynamic-waterm</span><span class="invisible">arking/2/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Recently, I had to use <a href="https://mastodon.top/tags/GitHubPages" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GitHubPages</span></a> to publish my <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> workshop. Travis is no longer free. <a href="https://mastodon.top/tags/GitHubActions" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GitHubActions</span></a> are a thing. I used the now nominal path and faced a few hurdles; here are my findings.</p><p><a href="https://blog.frankel.ch/refresher-github-pages/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/refresher-gith</span><span class="invisible">ub-pages/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>I continue to work on my <a href="https://mastodon.top/tags/OpenTelemetry" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OpenTelemetry</span></a> demo. Its main idea is to showcase traces across various technology stacks, including <a href="https://mastodon.top/tags/asynchronous" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>asynchronous</span></a> communication via an <a href="https://mastodon.top/tags/MQTT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MQTT</span></a> queue. This week, I added a couple of components and changed the <a href="https://mastodon.top/tags/architecture" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>architecture</span></a>. Here are some noteworthy learnings; note that some of them might not be entirely connected to <span class="h-card" translate="no"><a href="https://fosstodon.org/@opentelemetry" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>opentelemetry</span></a></span><br> <br><a href="https://blog.frankel.ch/even-more-opentelemetry/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/even-more-open</span><span class="invisible">telemetry/</span></a></p><p><a href="https://mastodon.top/tags/Observability" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Observability</span></a> <a href="https://mastodon.top/tags/DistributedTracing" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DistributedTracing</span></a> <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> <span class="h-card" translate="no"><a href="https://mastodon.online/@graalvm" class="u-url mention" rel="nofollow noopener" target="_blank">@<span>graalvm</span></a></span> <a href="https://mastodon.top/tags/Golang" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Golang</span></a> <a href="https://mastodon.top/tags/Ruby" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Ruby</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>I recently read a post on "6 Ways To Pass Parameters to <a href="https://mastodon.top/tags/Spring" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Spring</span></a> <a href="https://mastodon.top/tags/REST" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>REST</span></a> 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 <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a>; it’s beneficial when you write a custom plugin.</p><p><a href="https://blog.frankel.ch/pass-parameters-apisix/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/pass-parameter</span><span class="invisible">s-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, I wrote an analysis of the <a href="https://mastodon.top/tags/ITEF" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ITEF</span></a> <a href="https://mastodon.top/tags/Idempotency" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Idempotency</span></a>-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:</p><p>* If the server doesn’t know the key, it proceeds as usual and then stores the respons</p><p>* If the server knows the key, it short-circuits any further processing and immediately returns the stored response</p><p>This post shows how to implement it with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p><a href="https://blog.frankel.ch/implement-idempotency-key-apisix/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/implement-idem</span><span class="invisible">potency-key-apisix/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Last week, we listed 16 practices to help secure one’s APIs and described how to implement 7 of them with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a>.</p><p>This week, we will look at the remaining practices.</p><p><a href="https://blog.frankel.ch/secure-api-practices-apisix/2/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/secure-api-pra</span><span class="invisible">ctices-apisix/2/</span></a></p><p><a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a> <a href="https://mastodon.top/tags/security" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>security</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>In my previous post Evolving your APIs, I mention the main <a href="https://mastodon.top/tags/API" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>API</span></a> <a href="https://mastodon.top/tags/versioning" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>versioning</span></a> 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 <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> </p><p><a href="https://blog.frankel.ch/api-versioning/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/api-versioning</span><span class="invisible">/</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>The post will cover two alternatives to resize images: the traditional storage-heavy one and a on-the-fly one with <a href="https://mastodon.top/tags/imgproxy" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>imgproxy</span></a><br> and <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> </p><p><a href="https://blog.frankel.ch/resize-images-on-the-fly/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/resize-images-</span><span class="invisible">on-the-fly/</span></a></p><p><a href="https://mastodon.top/tags/performance" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>performance</span></a> <a href="https://mastodon.top/tags/costoptimization" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>costoptimization</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Down the rabbit hole of an <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> <br> <a href="https://mastodon.top/tags/plugin" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>plugin</span></a></p><p><a href="https://blog.frankel.ch/rabbit-hole-apisix-plugin/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/rabbit-hole-ap</span><span class="invisible">isix-plugin/</span></a></p><p><a href="https://mastodon.top/tags/analysis" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>analysis</span></a> <a href="https://mastodon.top/tags/Lua" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Lua</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Keep up <a href="https://mastodon.top/tags/APIs" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>APIs</span></a> healthy with <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> and <a href="https://mastodon.top/tags/Prometheus" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Prometheus</span></a></p><p><a href="https://www.youtube.com/watch?v=C8x851HAxWw" rel="nofollow noopener" target="_blank"><span class="invisible">https://www.</span><span class="ellipsis">youtube.com/watch?v=C8x851HAxW</span><span class="invisible">w</span></a></p><p><a href="https://mastodon.top/tags/monitoring" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>monitoring</span></a> <a href="https://mastodon.top/tags/observability" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>observability</span></a> <a href="https://mastodon.top/tags/devops" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>devops</span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p>Ops friendly <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> </p><p><a href="https://blog.frankel.ch/ops-friendly-apisix/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/ops-friendly-a</span><span class="invisible">pisix/</span></a></p><p><a href="https://mastodon.top/tags/Ops" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>Ops</span></a> <a href="https://mastodon.top/tags/operations" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>operations</span></a> <a href="https://mastodon.top/tags/DevOps" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DevOps</span></a></p>
VerneMQ<p>Apache APISIX is a high-performance API gateway with enough <a href="https://fosstodon.org/tags/MQTT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MQTT</span></a> protocol awareness to do loadbalancing based on the MQTT ClientID. <br>You have to terminate TLS on Apisix to allow for protocol awareness.<br><a href="https://fosstodon.org/tags/MQTT" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MQTT</span></a> <a href="https://fosstodon.org/tags/VerneMQ" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>VerneMQ</span></a> <a href="https://fosstodon.org/tags/ApacheApisix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheApisix</span></a> <a href="https://fosstodon.org/tags/apisix" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>apisix</span></a><br><a href="https://github.com/apache/apisix" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="">github.com/apache/apisix</span><span class="invisible"></span></a></p>
Nicolas Fränkel 🇺🇦🇬🇪<p><a href="https://mastodon.top/tags/etcd" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>etcd</span></a> is an great key-value distributed database. It’s a great option, and that’s the reason why <a href="https://mastodon.top/tags/ApacheAPISIX" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>ApacheAPISIX</span></a> uses it too. Yet, it’s not devoid of issues.</p><p>You may prefer to use a <a href="https://mastodon.top/tags/SQL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SQL</span></a> database with APISIX. In this post, I show how you can use <a href="https://mastodon.top/tags/MySQL" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>MySQL</span></a> instead.</p><p><a href="https://blog.frankel.ch/apisix-without-etcd/" rel="nofollow noopener" target="_blank"><span class="invisible">https://</span><span class="ellipsis">blog.frankel.ch/apisix-without</span><span class="invisible">-etcd/</span></a></p>