- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一些由consul管理的后端微服务,为了从一个服务获取另一个服务的一些数据,我使用consul的服务发现功能 - 比如获取所有健康的服务器,然后从检索到的条目中获取服务器地址和端口等。但是我应该如何从前端执行它?只需使用其实际IP调用所需的微服务器或使用docker容器的命名空间调用它?从知道如何做到这一点的人那里得到任何回应都会非常有帮助,甚至更好,以前做过的人,因为我坚持了一点。
最佳答案
“前端”是指在网络浏览器上运行的 Javascript 还是在同一数据中心内运行的软件?我假设我们在这里讨论的不是网络浏览器场景。
我认为具有智能缓存和循环负载平衡的客户端发现可以实现最佳扩展,因为不存在单点故障,并且它对集群内的任何中断 react 非常快。但它把更多的逻辑推到了客户端,使得日志记录比 Nginx 的琐碎访问日志更加困难。
第二个选项非常标准且易于理解,Nginx 和 Haproxy 就是针对此工作负载而设计的。请注意,您应该有一些可用的文件,以免出现单点故障,并且升级它们的二进制文件(特别是如果您在 Docker 上运行它们)将导致短暂的停机。无论如何,客户端需要以某种方式发现这些负载均衡器,DNS 是最常见的选项。当情况非常静态并且所有内容都在默认端口上运行时,DNS 可以很好地工作,因此您无需对 TTL 和 SRV 记录进行太多修改。
第三个选项使客户端逻辑更简单,因为 API 网关可以充当您内部可用的服务的“ View ”。但您仍然需要服务发现让客户端找到这些服务,这样它们就不能真正解决原始问题。
欢迎提供任何反馈,这是一个非常广泛的主题,您的情况可能会有所不同。
更新:此外,如果您使用 HTTP 协议(protocol),您可能希望通过 HTTPS 来保护它。借助负载均衡器,您有机会终止 HTTPS,并在 VPC 或防火墙后面的任何地方获得更简单的非加密流量。
关于node.js - 领事:SD架构。从前端访问微服务的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42073576/
我想通过将帧划分为 8x8 子 block 并将当前帧的每个 block 与前 10 帧的相邻 block 进行比较,从前 10 帧中找到运动矢量。 我可以用单帧进行操作,但我觉得很难处理 N 帧。
我正在尝试从数据库中选择一个随机条目,但仅从最新的 100 个条目中选择。有什么想法吗?谢谢。 最佳答案 对于 MySql - SELECT * FROM (SELECT * FROM tabl
我有一个表格,其中包含职位状态。表列是: ID //which is unique incremental Post_id //liked post user_id //user
使用 Laravel Eloquent,如何从前 100 行中随机抽取 10 行(按日期排序)。 例如,我有这个: $comments = Comment::orderBy('created_at',
数据是pandas系列:我正在使用df.B=df.A.str.extract(r'')使用提取的 WHERE 单词创建 B 列df: A HI my lines are so super WHERE1
我正在使用下面的脚本从前 24 小时中提取数据并将其输出到一个 html 表中,它在 8 月的整个月都有效,但自从月份更改为 9 月后就搞砸了,现在显示第一个数据入口.. 我的“时间戳”列是 varc
最近学习了Git的基本概念。我们确实使用了一些 git-svn 来熟悉它的使用。我想和我的 friend 一起在 git 上开始我的第一个“真正的”项目。 因此我想问一下您一般使用 Git 的最佳实践
我正在编写一个脚本,我需要在标签上提取 id 中可用的值,我需要使用纯 Javascript 来完成此操作。我有类似的 jQuery 代码可用,但我无法成功完成 Javascript 代码。我的 jq
我有这个查询来选择记录号 49 和 50 SELECT id,date FROM table WHERE enabled=1 ORDER BY id DESC LIMIT 2 OFFSET 48 现在
我是一名优秀的程序员,十分优秀!