Chinaunix首页 | 论坛 | 博客
  • 博客访问: 834284
  • 博文数量: 167
  • 博客积分: 7173
  • 博客等级: 少将
  • 技术积分: 1671
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-04 23:07
文章分类

全部博文(167)

文章存档

2018年(1)

2017年(11)

2012年(2)

2011年(27)

2010年(88)

2009年(38)

分类: 系统运维

2010-12-15 18:07:15

ogileFS自带提供http服务的Web Server并发数不高,你想用用它来提供并发数比较高的Web
服务性能就差得很。考虑用nginx作为你的web Server吧。这是个不错的选择。
      这需要改写MogileFS 返回Fid信息的源码,其实这修改很简单。相应的MogileFS的服务端代码
在:mogilefs-server-2.36/lib/MogileFS安装包目录下。

MFS/mogilefs-server-2.36/lib/MogileFS/Worker/Query.pm中
函数sub cmd_get_paths的my $path = $dfid->get_url;改为my $path = $dfid->get_url_pconline;


MFS/mogilefs-server-2.36/lib/MogileFS/DevFID.pm 加入相应的两个函数
sub get_url_pconline {
    my $self = shift;
    return $self->_make_full_url_pconline(1);
}

sub _make_full_url_pconline {
    # set use_get_port to be true to specify to use the get port
    my ($self, $use_get_port) = @_;

    # get some information we'll need
    my $dev  = $self->device   or return undef;
    my $host = $dev->host      or return undef;
    return undef unless $host->exists;

    my $path   = $self->uri_path;
    my $hostip = $host->ip;
    my $port   = $use_get_port ? $host->http_get_port : $host->http_port;

    return "";
}




也可以模仿sub uri_path这个函数的做法,做一个MogileFS的web 管理端。






这个可以代替MogileFS的mogtool locate功能和扩大mogtool功能(注意主键的使用,否则查询会很
慢)。



上面代码修改后,查询MogileFS的fid的时候返回的就是你想用的端口,从而进行后端http server的
选择。



为了使用方便需要对MogileFS客户端mogtool也进行修改,这样查询起来就会清楚很多了。
相应代码是MogileFS-Client-1.09/lib/MogileFS/Client.pm:
sub get_paths {
   ………………………………………………

    my @paths = map { $res->{"path$_"} } (1..$res->{paths});

    $self->run_hook('get_paths_end', $self, $key, $opts);

   my $count=1;
   my $mytemp;
   my @myarrays;
   while ($count <= @paths) {
     $mytemp=$paths[$count-1];
     $mytemp=~ s/7500/80/g;
     $myarrays[$count-1]=$mytemp;
     #print ("element $count: $paths[$count-1]\n");
     #print ("my temp element $count: $mytemp\n");
     #print ("my arrays element $count: $myarrays[$count-1]\n");
     $count++;
   }

    return @myarrays;
    #return @paths;
}

阅读(1170) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~