No.5 dotnetcore&docker--采用Ambry做文件服务器
开始没有采用阿里云作为文件服务器,去网上找了一个叫做ambry的,安装起来,后来有问题没有解决,就改用了阿里云。问题就是在k8s集群里面,不确定如何保证他的数据以及如何完成数据迁移,因为没有深入研究他,加上时间紧凑,最便捷的动作就是改用阿里云oss。
一、在docker里面安装ambry服务
version: '2' services: vhambryserver: image: amimimor/ambry:latest container_name: vhambryserver hostname: vhambryserver #networks: # vhnet: # - ipv4_address: 172.22.0.2 #ports: #- '16503:16503' #- '16503:6667' network_mode: vhnet restart: always volumes: - vm-ambry-server-tmp:/opt/ambry/tmp:rw - vm-ambry-server-logs:/opt/ambry/logs:rw environment: - TZ=Asia/Shanghai command: ['--role=server'] vhambryfe: image: amimimor/ambry:latest container_name: vhambryfe hostname: vhambryfe #networks: # vhnet: # - ipv4_address: 172.22.0.2 ports: - '61174:1174' network_mode: vhnet restart: always volumes: - vm-ambry-fe-tmp:/opt/ambry/tmp:rw - vm-ambry-fe-logs:/opt/ambry/logs:rw environment: - TZ=Asia/Shanghai - DATA_CONTAINER_IP=vhambryserver command: ['--role=frontend'] depends_on: - vhambryserver
代码里面的HttpClient 上传下载文件,这段代码有点问题,一直没有调整,会导致httpclient用尽。
上传文件
bytes 是文件的二进制
PostFileRequest request = new PostFileRequest(); request.FileContent = bytes; request.FileType = MimeMapping.GetMimeMappingByExtension(extension); DefaultAmbryClient client = new DefaultAmbryClient(DFS_API); PostFileResponse fileRes = client.Excete(request);