首页 存档 技术 查看内容

使用 caddy 作为微服务的 API gateway

2018-3-30 13:00 |来自: 互联网 340 0

摘要: 不 断 前 行,方 可 不 被 淘 汰 背景 大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。 在最新版的 Docker(CE 17.03) 里,随着s ...

不 断 前 行,方 可 不 被 淘 汰

背景

大家都知道,Docker这些年让IT界产生了深刻的变革,从开发到测试到运维,处处都有它的身影。它同时也和微服务架构相互促进,并肩前行。

在最新版的 Docker(CE 17.03) 里,随着swarm mode的成熟,在较简单的场景里已经可以不再需要专门的基础设施管理服务编排服务发现健康检查负载均衡等等。

但是API gateway还是需要一个的。或许再加上一个日志收集,你的微服务架构就五脏俱全了。我们知道Nginx Plus是可以很好的胜任 API gateway 的工作的,但它是商业软件。Nginx我们不说认证啊限流啊统计啊之类的功能,单就请求转发这一点最基本的就出了问题。

我们知道Docker是用DNS的方式,均衡同一名称的服务请求到不同的node,但是Nginx为了速度,在反向代理的时候会有一个不可取消的 DNS Cache,这样我们Docker在根据容器的扩展或收缩动态的更新DNS,可Nginx却不为所动,坚持把请求往固定的IP上发,不说均衡,这个IP甚至可能已经失效了呢。

有一个配置文件上的小Hack可以实现Nginx每次去查询DNS,我本来准备写一篇文章来着,现在看来不用了,我们找到了更优雅的API gateway,Caddy。我上篇文章也写了一个它的 声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除


路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部