有人问我第一篇为什么不实现将元数据增删改查底层全部替换,详见第一篇minio元数据实现单独存储。
我本身属于一个很懒的人,能坚持写博客已属实不易,写博客也是想到哪写到哪,第一篇中minio元数据分离的实现代码非常简单,当然也可以全部元数据增删改查底层全部替换,但是需要大量测试,下面讲讲大概如何实现底层全部替换,以及我第一篇中的优缺点。
一.minio元数据增删改查底层全部替换实现
首先找到storage-interface.go这个文件,然后找到StorageAPI接口,此接口存在几个操作元数据方法如下:
DeleteVersion(ctx context.Context, volume, path string, fi FileInfo, forceDelMarker bool) error//删除元数据
DeleteVersions(ctx context.Context, volume string, versions