微服务后端服务与位置服务实践
在之前,我们构建了一个简单的微服务,它通过内存存储库提供了一些简单的端点,用于查询和管理团队及团队成员信息。但这距离生产级别的服务还很远。接下来,我们将深入探索微服务生态系统,了解如何创建和使用后端服务。
微服务生态系统
在微服务生态系统中,服务并非孤立存在,大多数服务都需要与其他服务进行通信以完成其工作。我们将这些支持性服务称为后端服务。
在设计微服务生态系统时,不能简单地假设存在清晰的服务依赖链或层次结构。像图 4 - 1 那样过于简化的生态系统(服务 A 依赖 B,B 依赖 C)是不现实的。实际情况更像图 4 - 2 所示,而且一些大型企业构建和维护的服务生态会更加复杂,通信方式也多种多样,可能有传统的 HTTP 调用,也可能是异步的、事件溯源风格的通信。
绑定资源
每个应用程序都需要资源。在传统的应用和服务部署到特定服务器(虚拟或物理)的场景中,应用程序依赖磁盘文件、配置、凭证、访问其他服务的 URL 等,这些依赖常常使应用程序与运行它的服务器紧密耦合。
当服务在云端运行时,我们需要以更抽象的概念构建应用程序。应用程序所需的每个资源都应被视为绑定资源,并且以不违反云原生应用规则的方式进行访问。
例如,如果应用程序需要读写二进制文件,不能直接使用 System.IO.File 读写磁盘,因为云端磁盘是临时的,可能在应用程序不知情的情况下被完全移除。解决方案是将一切(包括文件系统)视为服务,通过云提供商(PaaS)提供的机制将后端服务绑定到应用程序。常见的绑定资源之一是数据库连接,其绑定包含连接字符串和凭证等信息。此外,其他微服务也是
超级会员免费看
订阅专栏 解锁全文
168万+

被折叠的 条评论
为什么被折叠?



