
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
分布式编程开发是目前大多数软件编程开发程序员都在学习和使用的一种编程开发技术,而本文我们就通过案例分析来简单了解一下,PaaS平台都有哪些应用方法。
1.资源管理
PaaS平台的一个核心功能是分布式集群管理系统负责管理和分配集群资源,包括CPU资源、内存资源、存储资源、网络资源等。例如,在Mesos集群上可以运行Marathon、Kubernetes、Hadoop、Spark、Kafka、Hive等多种框架,Mesos本身只提供资源的分配,并不涉及存储、任务调度等功能,所以要将其与其他软件或系统搭配使用才能构成完整的分布式系统。Mesos、Docker、Marathon/Chronos、ZooKeeper、HDFS/Ceph构成了一个完整的分布式系统,分别负责资源分配、进程管理、任务调度、进程间通信和文件管理。
Mesos的资源分配是通过两级调度来实现的。Mesos主节点先从Mesos从节点收集空闲可用资源信息(CPU、内存、存储),然后将主机上的资源封装成资源offer,并根据资源分配算法选择offer发送到应用框架,这称为一级调度。应用框架收到资源offer后,根据自己的调度策略决定如何使用这些资源,并将运行任务的决策发回给Mesos主节点,Mesos主节点收到调度任务信息后,将任务发送给指定目标节点上的Mesos从节点,Mesos从节点完成任务的执行,这称为二级调度。
2.应用全生命周期管理
应用发布模块负责为运行的应用提供标准化的分发流程,用户可以按照标准化的发布方式自助进行应用发布。应用发布模块功能包括∶
所有应用可以一键安装,用户可通过Dockerimage方式自主安装和发布应用
应用配置全部通过WebUI方式实现;
应用实例由集群动态分配资源,无须绑定服务器
应用负载均衡由系统自动实现,无须配置
应用的运维由系统自动实现,包括自动弹性扩容、迁移和重启。
微服务和容器技术显示出它们在敏捷性、可移植性等方面的巨大优势,同时也为交付和运维带来了新的挑战∶单体式的架构被拆分成越来越多细小的服务,运行在各自的容器中,必须解决它们之间的依赖管理、服务发现、资源管理、高可用等问题。
云原生系统在应用管理方面提供应用编排及调度管理,可以管理由数十乃至数百个松散结合的容器式组件构成的应用,而这些组件遵照统一的发布规范,可以完成各组件相互间的协同合作,使既定的应用按照设计运作,按顺序在网络级别进行组织,能够按照计划运行。一般来说,应用编排及调度管理可以提供以下常用系统功能:
快速部署∶实现应用的创建、发布、部署、启动、停止等功能。
弹性伸缩:在预计应用流量达到高峰前,只需要在页面上调整应用的实例数,就可以在后台自动复制并启动多个实例。
策略约束:如果应用对机器有特殊要求,不能在集群中随时任意地迁移,平台也支持添加机器约束,比如只允许应用运行在某些机器上,或者不允许运行在部分机器上。
健康检查∶应用在发布的时候,TCP/HTTP服务可以自动检测端口或者HTTP服务是否可用。如果在指定时间内服务没有响应,调度平台可以自动启动新的实例,判断新的实例正常运行后,剔除非正常的实例。
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。