2013-02-13 3 views
2

Я новичок в AppFabric, и я оцениваю решение распределенного кеша для производственной среды, и я в магазине Microsoft, используя Asp.net MVC и WebApi, и мы не используем Windows Azure.Оценка AppFabric и некоторые вопросы о новичках, например, почему для настройки AppFabric требуется база данных или xml?

При настройке AppFabric на моем локальном компьютере был сделан шаг для создания базы данных или использования xml, я хотел бы понять концепцию здесь. Является ли AppFabri в зависимости от источника данных (db или xml-файлов) для сохранения? Если да, разве это не было бы потенциальным узким местом?

Кроме того, может ли кто-либо, кто использует AppFabric прямо сейчас на своих производственных серверах, прокомментировать их опыт использования? Любые ловушки или ошибки?

Спасибо, очень ценю!

ответ

5

Я могу дать вам мой опыт чуть больше года назад после развертывания AppFabric в производственной среде. Я не справлялся с этим, потому что мой опыт был невелик. Возможно, они исправили некоторые проблемы, которые у нас были.

Шаг создания базы данных или XML предназначен только для хранения информации о конфигурации для кластера.

Мои заметки (помните, что это был текущий год назад, так что, может быть, все изменилось):

  1. При кэшировании объекта из C#, объект был превращен в XML и хранятся. Это был подробный формат и сделал хранение/получение немного медленнее, чем следовало бы. Я бы предпочел бы, чтобы объект был сериализован в двоичный формат - или сжат - или просто что-то, кроме несжатого XML. Мы фактически модифицировали наши объекты, чтобы иметь более короткие имена свойств при кэшировании, поскольку они превратились в XML. Это заставило некоторые объекты перейти от 1 МБ до пары сотен килобайт.

  2. AppFabric обменивался информацией по протоколу NetTcp в Windows, и это вызвало у нас некоторое горе. У нас были несколько серверов без установленной службы Windows (NetTcp), и это вызвало головные боли. Мы не могли понять, почему AppFabric работал на одной машине, а не в другой.

  3. Казалось бы, это было хорошо с распределением нагрузки между несколькими машинами в кластере. Он также, казалось, быстро извлекал материал, и логика истечения всегда работала нормально.

  4. В то время это был просто незрелый продукт. Мы не смогли найти никакой поддержки для этого. Я помню, как я разговаривал по телефону с Microsoft, пытаясь выявить некоторые проблемы, которые у нас были, и каждый раз, когда человек скажет: «AppFabric? Что это?» Община вокруг этого в то время не существовала. (Это было на самом деле болезненным для нас.)

Если бы я должен был сделать приложение для Windows, который нуждался в распределенной кэш мне придется повторно оценить AppFabric. Мой первый опыт был не самым большим. Теперь я думаю о Redis, Couchbase, Memcached - в этом порядке.

+0

В AppFabric 1.1 есть поддержка сжатия, но она настроена для клиента кеша, а не самого кеша - см. Документацию MSDN [здесь] (http://msdn.microsoft.com/en-us/library/ hh351483.aspx). – PhilPursglove

+0

Документация для компиляции в лучшем случае шелушащаяся - где вы добавляете эту настройку? Вы добавляете его в web.config вашего клиента или в конфигурацию xml на хосте? –