当前位置: 首页 > 工具软件 > Cell Cloud > 使用案例 >

cloud foundry mysql_Cloud Foundry是个什么鬼-学习笔记

慕容星晖
2023-12-01

在2014年EMC成立Cloud Foundry.org后,其发展更加迅速,目前看来很有可能成为PaaS的行业标准。

Cloud Foundry是一种平台即服务(PaaS),兼容多种基础设施云,提供多种开发框架和应用服务。目前开源支持部署Cloud Foundry的基础设施云包括AWS、Azure、OpenStack等等,CF在开发框架上支持Java、.NET、Ruby等等,有很强的灵活性。IaaS帮助开发者和客户解决了基础设施的问题,Cloud Foundry作为PaaS,在云上让开发者的视角更高,开发者只需要关注应用和数据。

PaaS作为云计算的一种形式,PaaS与IaaS界限越来越模糊,目前在各个行业越来越多地被采用,这将极大改变行业信息化的建设模式,传统的IT系统将面临挑战,传统的C/S,B/S那种Monolith式应用系统需要作出改变,进行系统重构和迁移到云端,来适应云端的设计部署和运行模式。下面列举下目前工业企业的物联网平台(工业互联网平台),都构建于CF之上(Cloud Foundry PaaS Certification)。

下面介绍下Cloud Foundry的组件。

Cloud Foundry目前版本是v3版本

Cloud Foundry组件包括应用程序执行引擎,应用程序部署和生命周期管理自动化引擎,命令行接口CLI,同时可以与开发工具集成方便应用的开发部署过程。Cloud Foundry拥有开发的架构,其中包括. Buildpack机制,可以增加Framework、应用服务接口和云提供者接口。

Routing

1. Router,它承担访问流量的路由工作,也是一种Cloud Controller组件或托管应用程序运行在Diego Cell上。路由器周期性查询Diego Bulletin Board System (BBS)来决定每个当前应用程序跑在那个Cell和Container上,然后基于每个Cell虚拟机的IP地址和Cell的Container托管端口号重新计算出新的路由表。

Authentication

1.OAuth2 Server (UAA) and Login Server,两者一起提供身份管理。

App Lifecycle

1. Cloud Controller and Diego Brain,Cloud Controller引导应用程序的部署,当要推送一个应用程序到Cloud Foundry时,首先要指向Cloud Controller,由它来调用Cloud Controller Bridge 指挥Diego Brain去协Diego Cell去Stage和Run应用程序。Cloud Controller同时维护Org,Space,user Role,服务等信息。

2. nsync, BBS, and Cell Reps,承担持续监控应用程序的状态,调整应用程序的期望状态,启动和停止进程,保证应用程序的可用性。

左边是最终用户,其他则是应用程序多个实例,它跑在分布式的虚拟机上,这些实例或许会宕机而不可用。nsync 接收到来自Cloud Controller的用户想要扩展App的消息后,它在Diego BBS 数据库的DesiredLRP 数据结构中写入实例的数量。BBS采用convergence进程监控DesiredLRP和 ActualLRP的值,它启动或停止应用程序实例来匹配DesiredLRP和 ActualLRP的值。Cell Rep监控containers 和提供ActualLRP值。.

App Storage and Execution

1. Blobstore,二进制文件存储库,因为Github只是转为代码存储设计的。Blodstore包括Application code packages、Buildpacks、Droplets。Blobstore在内部服务器或者外部服务器S3,S3兼容Endpoint上进行配置部署。

2. Diego Cell,每个应用程序虚拟机都有一个Diego Cell,来负责本地启动和停止应用程序执行,管理虚拟机Contrainter,向BBS和Loggregator报告应用程序状态等信息,

Services

1.Service Brokers,提供服务实例给应用程序。

Messaging

1. Consul and BBS,Cloud Foundry组件虚拟机内部通信采用HTTP或HTTPS协议,共享临时消息和数据存储在2个地方:Consul 服务器存储长时长控制数据,例如组件IP地址,防止组件复制操作的分布式锁;Diego’s Bulletin Board System (BBS) 存储频繁更新和一次性数据(Cell和应用程序状态,未分配工作,心跳线)。BBS使用Go MySQL Driver 驱动写入MYSQL数据库。route-emitter 组件使用NATS协议广播最新路由表到所有路由器。

Metrics and Logging

1.Loggregator,把应用程序日志流式传递给开发者。

2.Metrics Collector,收集组件的统计和度量数据,运维人员利用这些信息监控Cloud Foundry的部署。

 类似资料: