Hello,
I know this is a few months old, but still wanted to reply. I have seen the pattern of having a Gateway front 'N' Abstract services quite regularly. There is a balance between performance/resources vs reusability here. On one hand, Chaining Services helps simplify service deployments and reuses previously configured functionality such as AAA. On the other hand, this does take a small toll on the box, as 'N' services in the chain maintain copies of the request in memory until the trasaction is completed.
I understand the Issue you have in your lower environments and I believe you have a few options here.
1. You can go away from the Chaining Design and have each service perform the AAA.
2. You will have to use different Ports for your lower environments that share the same host.
#2 is true whether or not you chain your services, but for the 'Abstract Services', you definatly want to restrict it to only be accessible from within the host ( 127.0.0.1 ), this is what is recommended since your Security will be handled by the Gateway Service.
If there are plans to onboard a bunch more services that will sit behind that Gateway Service, Service Chaining ( 1 service deep ), may be okay, just look at the Service's Throughput, message sizes, timeouts, caching settings and try to optimize them as much as possible.
If you don't plan to Onboard more services, I would not do the Service Chaining, and just have the MPGW do all of the above for you.
hope this was helpful,
Doyle
TxMQ Inc.