java - Zuul 是我的应用程序的唯一入口点吗?
问题描述
我在我的基于微服务的应用程序中使用 Zuul 已经有一段时间了,它运行良好。
现在有人问了我一个问题,让我觉得微服务世界毕竟不全是彩虹和鲜花。
所以问题是“您将 Zuul 作为您应用程序的唯一入口点,这不是某种集中化吗?如果 zuul 宕机了怎么办?”
我只是想收集一些意见,并得到这个问题的答案。
谢谢你。
解决方案
如果您的 Zuul 实例已关闭。您可能无法通过 api 网关定向到其他服务。
作为一种解决方案,我建议您使用具有两个 zuul 实例的集群解决方案。你需要两个客户端服务注册服务(Eureka Servers)。
如果您计划管理容错,则可以应用 sentinel。
您的微服务成为尤里卡客户端。
您必须在两个 eureka 服务器中注册您的微服务并创建一个 eureka 服务器集群。您可以参考下图作为实现的设计/架构图。
注意:您必须为两个 zuul 服务器维护两个端点。如果 zuul 1 宕机,客户端可以向 zuul 2 请求。 这将帮助您实现零宕机。(您需要确保您的 VM 平台可靠且没有计划外宕机)。
推荐阅读
- javascript - 下一个 js 从嵌套目录导入公用文件夹图像
- powershell - 我对 powershell 脚本相当陌生,我想编写一个脚本来从远程计算机收集系统信息但出现错误
- android - NullPointerException - 对话框中的 AutoCompleteTextView
- python - 如何按物种总数对该条形图进行排序?
- c# - 在 ListView 中动态调整图像大小
- python - 将秒数添加到时间戳后,从 unix 时间戳到日期时间转换没有得到预期结果
- angular - (原因:CORS 标头“Access-Control-Allow-Origin”缺失)api 问题
- c# - C# readonly 字段永远不会被分配警告 - 可以将其配置为错误
- javascript - Javascript:按 ID 更改多个元素样式
- android - 我在构建失败下收到此错误消息