ceph rgw设计的示例分析
这篇文章将为大家详细讲解有关ceph rgw设计的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
ceph rados集群作为存储最底层数据组织及管理,需要使用c++实现大量的源生功能。但是rgw作为web service服务端,大部分功能不需要自己从头用c++高成本的开发,只需要与众多优秀的轻量级开源项目合作即可。就像python开发者提到的"life is short,use python"。ceph作为一个还处于早期的开源项目,后续必然会像openstack社区那样,一个功能分裂出更多的子项目。社区可能也已经意识到了这个问题,比如目前L版社区将管理功能从monitor节点剥离,rgw元数据集成elastic search查询功能等等。其实社区没有自己开发元数据查询功能,就是借助了els的能力,并没有重复造轮子,在c++不擅长的领域去与众多优秀项目pk,其实前2年青云的工程师也写文章提到了比如rgw metadata存储的弊端。
在rgw内部,例如metadata元数据管理,之前出现过《ceph 惊魂72小时》的问题。其实metadata不适合存在osd里,直接可以利用一些大数据开源项目的数据组织思路,保存到单独的项目中。又如civetweb众所周知的并发性能差,开源社区有着众多的基于nginx高扩展性的框架。又如multisite实现了复杂的推拉机制同步数据,不如转头去结合一些优秀的相关开源项目进行。
如果有实力的功能通过上述思路对rgw改造,可大大提高rgw的大规模可用性。
关于"ceph rgw设计的示例分析"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。