问题描述
我们正在为我们的微服务框架评估 Dapr。我们将使用 Kubernetes。 Dapr 的广告卖点之一是服务调用和服务发现。 K8s 不是已经提供了开箱即用的服务发现吗?
解决方法
简短回答:是(Kubernetes 提供服务发现)
虽然服务发现可能有多种模式(以及实现这些模式的工具),Kubernetes通过服务在其核心提供服务发现 对象避免使用特定技术或工具来实现基本的容器管理运行时环境。
您可以阅读more on Kubernetes Services in the official documentation。
值得注意的是,dapr 是一个平台无关的可移植运行时,不依赖于 Kubernetes 及其核心服务发现功能。
它提供了比简单地发现您的服务更多的功能(通常将其与服务网格工具进行比较,因为它们往往看起来是相同的):
- 它提供透明且安全的服务到服务调用
- 它允许发布-订阅通信方式
- 它提供了一种注册触发器和资源绑定的方法(允许功能即服务开发风格)
- 它提供开箱即用的可观察性
- ...