探索在桌面上构建和调试服务的挑战。了解如何在基于微服务的应用程序中测试服务的 5 个选项。
服务很棒。它们允许您使用大型开发团队创建大型、复杂的应用程序,而每个团队成员都不需要了解整个应用程序的复杂性。每个开发人员必须只了解他们最终负责的服务。
然而,由于构建基于微服务的生产服务的所有优势,人们很少关注如何测试微服务的复杂性。虽然有很多选择,但在大多数情况下,一种选择很突出。
考虑以下情况:您拥有一个包含 500 个微服务的系统中的微服务 #37。您的服务从一组微服务中获取输入,执行一些操作,并在此过程中使用其他一些微服务。您的服务位于复杂错综复杂的微服务网络中间,如图 1 所示。
图 1. 一个复杂的微服务应用程序
另外,您调用的服务呢?您依靠这些“输出”服务来允许您的服务运行。但是你如何让这些服务发挥作用呢?哦,顺便说一句,这些服务还需要一组其他服务才能运行。你如何让那些工作?
您是否真的必须让所有 500 个微服务在您的笔记本电脑上运行才能验证您的一个微服务是否确实有效?你甚至有可能做到这一点吗?它们都适合您的单台笔记本电脑吗?它们应该适合您的笔记本电脑吗?另外,其他公司提供的外部服务,例如 SaaS 服务呢?您当然不能在您的笔记本电脑上放置另一个 SaaS 服务!
好吧,你有几个选择。哪个选项适合您,这取决于您的服务的规模和复杂性,以及整个应用程序的规模和复杂性,以及您可以使用的工具和服务。这是选项。
选项 #1:将所有服务放在您的笔记本电脑上
第一种选择是采用构成整个应用程序的所有服务并将它们放在您的笔记本电脑上。这可能适用于较小的应用程序