如何使用Mantl来pipe理微服务?

最近我遇到了Mantl (思科的微服务基础架构pipe理项目)。 它是一个开源的,他们已经把它推到github上 。 我不了解他们的基本工作。 有没有人有任何想法呢?

根据我的理解,Mantl是一个工具/应用程序的集合,它们连接在一起,创build了一个基于Docker的,一致的应用程序平台。 Mantl理想地部署在虚拟化/云环境(AWS,OpenStack,GCE)上,但是我最近才能将它部署在裸机上。

Mantl的主要组件是Mesos,它pipe理docker,处理调度和任务隔离。 Marathon是一个mesos框架,用于pipe理长时间运行的任务,如Web服务,这是大多数应用程序驻留的地方。 mesos-marathon的组合处理应用程序的高可用性,弹性和负载平衡。 将所有东西捆绑在一起是领事,负责处理服务发现。 我使用领事为每个应用程序进行查找,以相互沟通。 Mantl还包括用于日志logging的ELK堆栈,但是在监视我的任何应用程序方面我还没有成功。 还有Chronos,计划任务是处理ala克朗。 Traefik充当反向代理,其中应用程序/服务端点被映射到用于与外部服务进行通信的URL。

基本上,你的微服务应该是独立的docker镜像,通过consul查询启动通信并login到标准io。 然后,您使用Marathon API部署应用程序,并在Marathon UI中对其进行监控。 在部署您的dockerized-app时,马拉松会在您的领事中注册您的docker图像名称,以及其“端口”。 计划任务应该部署在Chronos中,在那里你将能够监视正在运行的任务和待处理的计划任务。