Member-only story
Intro
I started to use dapr as our API runtime plus service mesh controller. The question in our architect is that, Dapr is not designed to be publicly facing and therefore should be used behind an ingress controller or API gateway.
How am I going to route the external session to call internal dapr invoke API without expose services? To solve it, I’m going to use NGINX as our gateway between internal services and APIM.
I found multiple documents from the internet and it seems that those are missing some setups. I did a test and not working. So I sorted my successful steps in this article for reference.
In this article, I will not integrate APIM because if the NGINX ingress flow is all good, APIM integration will be only a simple setting. I will use external NGINX ingress address for testing. But in reality, I suggest users not to expose nginx to the internet. Using APIM to protect your APIs.
Diagram:
Why Dapr?
Dapr is portable, event-driven runtime that help developers to build microservices. It warps the services into open, independent APIs called building blocks. Each building block is completely independent and you can use one, some, or all of them in your application.