云隧道功能是 DaoCloud 为开发者提供的一项高级功能,旨在帮助开发者在复杂多变的网络环境下,获得一致和稳定的应用访问入口,便于开发和应用的调试,是开发者的安全云隧道,跨网络的容器云地址,让您在本地也能部署公网服务器。
请注意,云隧道功能,目前仅适用于部署在自有集群中主机上的应用,并仅提供 HTTP 方式的隧道访问。
有关自有集群和在自有集群之上部署应用,请分别参考对应的文档:
云隧道有一些非常有价值的应用场景,我们举例如下。
DaoCloud 具备在跨云跨网环境下进行容器的部署和管理的能力,我们可以将用户内网环境中的机器接入 DaoCloud 管理平台,与持续集成、应用部署等环节无缝对接。在此技术的基础之上,我们发布的云隧道功能,可以把用户内网主机上部署的容器应用,通过特殊的云隧道,发布到外网,整个过程,并不需要打开任何防火墙端口。我们以 2048 这个应用为例进行演示:
注意事项:
- 仅支持在 DaoCloud 自有主机上的应用,并且容器需要通过 DaoCloud 来部署,而不是在主机上通过
docker run
启动。- 目前隧道协议仅开放了 HTTP ,暂时不支持 HTTPS 和 TCP/UDP 等访问协议。
- 云隧道功能是为了开发者进行远程应用调试和演示,我们对带宽和并发链接数都有一定的上限控制,不可以用在生产环境,或者跑一些流量密集型的应用。
使用场景
- 远程访问公司、或家中主机上的应用,或为客户 demo 部署在内网的应用。
- 在微信应用开发场景中,可以使用云隧道为开发中的应用获得一个稳定的 URL,便于进行微信回调测试,省去了管理防火墙、配置临时域名等操作,加快开发测试的速度。
- 在任何内网防火墙,或者动态外网 IP 环境下,位应用提供一个稳定不变的入口 URL。这个 URL 和背后的云隧道,不会随着网络和 IP 地址的变化而发生变化,云隧道将自动适应网络变化。
在时下流行的微服务架构中,应用通常采用了前后端分离的设计,后端的功能,通过 API Server 方式对前端提供,由前端的代码,使用 Restful API 的方式调用。在这种情况下,前端调用后端的过程往往涉及到了大量的网络通信,监控和调试的难度较大。DaoCloud 云隧道提供了跨网络、有依据的微服务应用的调试功能,具体的使用方式请参考如下的例子。
在这个例子中,我们选择了一个非常简单的 API Server 和 Client 的组合。
待续。。。