想要提供更多进阶的网络功能到应用程序上,譬如 TLS、circuit、breaking、routing 或 metering。

应用程序不太方便修改来符合上述功能。

部署一个跟原应用程序相邻的应用程序来处理这些网络功能。

应用程序过于古老,团队没有办法进行深度修改或是团队中的应用程序使用过多的语言与框架完成,很难简易的将这些功能给导入到既有的应用程序中

这时候部署一个全新的应用程序就可以再不修改既有应用程序的前提下来提供这些进阶的网络功能。

这个模式普遍被称为 ambassador 模式,而本篇文章就是针对该模式进行一个科普概念。

文章最后还要探讨使用这种模式的一些注意事项,譬如网络的延迟会因为多一个应用程序而提升,所以使用上也要评估看看是否合适。

也有简单的列出什么情况适合使用 ambassador 什么情况不适合。