Лучший способ получить доступ к UNC-пути в C#
Мы создаем приложение, которое будет хранить много изображений. У нас есть виртуализированная среда на GoGrid.com, и мы надеялись использовать их облачное хранилище.
Не знаю точно, как это сформулировать, но если мы (в нашем коде) указываем путь unc и кредиты для размещения или получения изображения, которое кажется ужасно неэффективным (подключиться, получить изображение, отключиться)
Если у нас большой объем изображений или много пользователей, выполняющих это одновременно, кажется, что это поставит любой обычный сервер на колени.
Итак, мой вопрос: если не иметь огромных дисков, на которых работает ваш веб-сайт, как мы должны стремиться к этому? Опять же, мы выбираем облако облачных вычислений GoGrid по сравнению с Amazon S3, поскольку все находится под одним красивым зонтиком. Облачное хранилище доступно через UNC-путь и определенное имя пользователя / пароль.
Спасибо!
3 ответа
C# может использовать unc-пути, такие как собственные пути, используя собственный ввод-вывод файла операционной системы. Обычно вы не "подключаете / извлекаете / отключаете", а, как только вы установили соединение с удаленным сервером, будут удерживаться, как если бы вы подключили диск. Если у вас нет буквы диска, это не означает, что нет никакой связи.
В качестве альтернативы (и ничего не зная о сетке GO), вы можете либо просто подключить диск, либо использовать функцию автономных файлов в Windows, чтобы сохранять наиболее часто используемые файлы в кэше локально.
Раньше я не работал с серверами с большим объемом доступа, но мне кажется, что вы ищете что-то очень легкое для доступа к UNC-пути. Facebook имеет архитектуру, основанную на облегченной реализации HTTP и блейд-серверах для балансировки нагрузки с использованием единой файловой системы объемом 10 ТБ, но вы пока не чувствуете, что уже достаточно. Если вы хотите максимизировать то, что вы получаете от подключений, попробуйте получить несколько файлов в последовательности подключения / чтения / отключения. Имейте в виду, что это заставит ваших пользователей подождать немного дольше, а замедление на 20 мс для Google приведет к примерно 20% падению пользователей. Кроме того, я не знаю более быстрого способа сделать это, чем просто получить доступ к пути.
Если вы думаете, что со временем можете изменить метод доступа к файлу, обязательно сохраните его абстрактным. Начните с простой реализации UNC, но затем вы сможете перейти на реализацию веб-службы или REST.