spring - Kubernetes/Spring Boot 中的服务发现
问题描述
使用“spring service discovery kubernetes”而不是直接使用来自 Kubernetes 的 Service DNS 有什么好处?
我的意思是,如果我在 kubernetes 2 服务(service-a 和 service-b)中部署,并且 service-b 公开了一个 Rest API。service-a 可以使用 url “http://service-b/...”轻松连接到 service-b。
问题 #1。为了让 service-a 能够使用服务 DNS 连接到 service-b,必须在 service-a 之前部署 service-b?
问题2。使用弹簧发现的优点/缺点是什么?
解决方案
问题1: 不,部署服务的顺序对于使用kubernetes DNS服务解析ips并不重要,这里唯一的事情是,如果你在serviceB之后部署serviceA,你将在serviceA中作为环境变量serviceB 的 ip 但不是相反的。
问题 #2: spring 服务发现是原生 kubernetes 服务发现的替代方案,其他 spring 云项目(如 spring-cloud-eureka)使用它来执行服务发现。我在这种方法中看到的唯一优点是您可以自定义负载平衡算法,您可以使用它来在不同实例之间分配负载
推荐阅读
- join - 可以在单程中为内存结构构建 FULL JOIN(不使用 sql!)
- three.js - Three.js中的多遍累积渲染
- r - R中的包装函数
- c++ - “uFlags &= ~CHN_PANNING”命令有什么作用?
- angular - 安装时角度/cli给我错误
- javascript - 单击 popup.html 上的按钮时运行 background.js 文件的简单方法
- jenkins - Jenkinsfile:前一个(仍在运行)阶段的卷曲日志
- c - 为什么我的 C 程序做简单的折旧不起作用?
- sql-server - 使用 VS 2017 数据库项目创建数据库时删除索引时出错
- scala - Spark数据框 - 使用scala将公共字符串的标记替换为每行的列值