Marathon是一款开源的、用于数据中心和云环境的分布式应用程序容器编排平台。它可以被理解为在集群操作系统(如Apache Mesos或DC/OS)上运行的“初始化系统”或“服务管理器”。它的核心功能是长期运行和管理应用程序与服务,能够自动处理硬件故障,确保应用在集群中的节点宕机时,能自动在其他健康节点上重启并恢复服务。Marathon不仅能启动传统的命令行应用,更是部署和扩展Docker容器的理想选择,提供了服务发现、负载均衡、健康检查等强大功能,是企业级持续集成和微服务架构中实现高可用的关键组件。
软件亮点
跨平台支持:内置对Android和iOS的兼容,降低多平台测试成本。
智能测试管理:
测试批处理:按预期执行时间组织测试用例,优化资源利用。
设备池:分配多设备并行执行,提升测试速度。
测试分片:将大型测试拆分为小模块,提高响应效率。
重试机制:
预防性重试:基于实时统计预测潜在失败,提前干预。
事后重试:对失败测试自动重试,减少人工干预。
CI/CD集成:无缝对接持续集成与交付流程,支持快速迭代。
软件功能
服务发现与负载均衡:自动管理应用实例的注册与发现,支持流量分发。
REST API与授权:提供编程接口,支持SSL加密与权限控制。
容器与Shell部署:兼容Docker等容器技术,同时支持传统Shell脚本部署。
高可用性:通过多主节点(主备模式)自动切换,确保服务连续性。
弹性伸缩:支持单应用实例数的动态调整,适应负载变化。
依赖管理:允许用户定义应用间的启动顺序,避免依赖冲突。
健康检查与容错:实时监控应用状态,自动重启失败实例。
软件特色
Swift Package Manager集成:通过包管理器快速安装与更新。
脚本执行与调试:支持Swift脚本的编写、运行与调试。
版本管理自动化:示例脚本可实现提交前自动更新版本号。
CI/CD工具协作:与GitHub Actions、Jenkins等工具无缝对接。
常见问题
应用程序卡在“部署中”状态
原因:这是最常见的问题之一。通常是由于资源不足(CPU、内存、端口冲突)、启动命令执行时间过长、健康检查持续失败,或与Leader节点失去同步。
解决:
检查集群是否有足够的资源。
查看该应用的日志和Marathon的日志,寻找错误信息。
尝试调整或暂时禁用健康检查配置。
重启Marathon服务有时可以解决状态同步问题。
Rider 2019 最新版
UltraEdit 官方版 v29.00
phpstorm 2019 官方版