wZD 1.0.0-ийн анхны хувилбар, жижиг файлуудад зориулсан авсаархан хадгалах сервер

Боломжтой анхны хэвлэл wZD 1.0.0 - гаднаасаа WebDAV сервер шиг харагддаг олон тооны файлуудыг авсаархан хэлбэрээр үр дүнтэй хадгалах сервер. Өөрчлөгдсөн хувилбарыг хадгалахад ашигладаг BoltDB. Төслийн код нь Go болон дээр бичигдсэн тараасан BSD лицензийн дагуу.

Сервер Энэ нь олгодог Бүрэн түгжих дэмжлэгтэйгээр ердийн эсвэл кластер файлын систем дээрх жижиг файлуудын тоог мэдэгдэхүйц бууруулна. wZD хөгжүүлэгчдийн дэмждэг кластер нь кластерын файлын систем дэх 250 сая директорт тархсан 15 сая орчим жижиг файлуудыг хадгалдаг. MooseFS.

wZD нь сангуудын агуулгыг BoltDB форматаар архив руу зөөх (архивлах), дараа нь эдгээр архиваас эдгээр файлуудыг түгээх (эсвэл PUT аргыг ашиглан архивт файлуудыг байрлуулах) боломжийг олгодог бөгөөд энэ нь файлын систем дэх файлуудын тоог эрс багасгаж, мета өгөгдлийг хадгалах нэмэлт зардлыг багасгах. Том файлуудыг боловсруулах үр ашгийг нэмэгдүүлэхийн тулд ийм файлуудыг Болтын архиваас тусад нь хадгалах боломжтой. Энэ арга нь файлын систем дэх инодын тоог хязгаарлахгүйгээр асар олон тооны жижиг файлуудыг хадгалах ажлыг зохион байгуулах боломжийг олгодог.

wZD 1.0.0-ийн анхны хувилбар, жижиг файлуудад зориулсан авсаархан хадгалах сервер

Серверийг мөн түлхүүр/утга форматтай (сангийн бүтцэд суурилсан хуваалттай) өгөгдлийн NoSQL мэдээллийн бааз болгон ашиглах эсвэл өгөгдлийн сангаас урьдчилан үүсгэсэн html эсвэл json баримтуудыг түгээхэд ашиглаж болно. Гүйцэтгэлийн хувьд Болтын архивыг ашиглан өгөгдөл илгээх, бичих нь унших үед хоцролт нь ойролцоогоор 20-25%, бичих үед 40-50% нэмэгддэг. Файлын хэмжээ бага байх тусам хоцрогдлын зөрүү бага байх болно.

wZD 1.0.0-ийн анхны хувилбар, жижиг файлуудад зориулсан авсаархан хадгалах сервер

Үндсэн боломж:

  • Олон урсгалтай;
  • Олон сервер, алдааг тэсвэрлэх, ачааллыг тэнцвэржүүлэх;
  • Хэрэглэгч эсвэл хөгжүүлэгчийн хамгийн их ил тод байдал;
  • Дэмжигдсэн HTTP аргууд: GET, HEAD, PUT болон DELETE;
  • Үйлчлүүлэгчийн толгойгоор дамжуулан унших, бичих үйлдлийг хянах;
  • Уян хатан виртуал хостуудыг дэмжих;
  • Бичих/унших үед CRC мэдээллийн бүрэн бүтэн байдлыг дэмжих;
  • Хагас динамик буфер нь санах ойн хамгийн бага зарцуулалт, сүлжээний гүйцэтгэлийг оновчтой тохируулах;
  • Өгөгдлийн багцыг хойшлуулсан;
  • Үүнээс гадна олон урсгалтай архивлагчийг санал болгож байна wZA Үйлчилгээг зогсоохгүйгээр файлуудыг Болтын архивт шилжүүлэх.

Одоогийн хувилбарын зарим хязгаарлалтууд: Multipart, POST арга, HTTPS протокол, програмчлалын хэлийг холбох, сангуудыг рекурсив устгах, WebDAV эсвэл FUSE ашиглан файлын системд бүтцийг холбоход дэмжлэг байхгүй, файлууд. нэг системийн хэрэглэгчийн дор хадгалагддаг. Хадгалах формат нь архитектурын онцлогтой бөгөөд Little Endian болон Big Endian системүүдийн хооронд зөөврийн биш юм. wZD сервер нь HTTP протоколын дэмжлэгийг хэрэгжүүлдэг хэдий ч үүнийг зөвхөн nginx, haproxy гэх мэт урвуу прокси нэрийн дор эхлүүлэх шаардлагатай.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх