Нужен ли внешний кэш 2-го уровня для нескольких экземпляров NHibernate в Windows Azure? - PullRequest
2 голосов
/ 07 сентября 2010

Я занимаюсь разработкой AMF Flash шлюза на FlourineFx приложения для развертывания на Windows Azure , и я хочу использовать AzureSQL .

Я использую NHibernate 2.1 + NHibernate.Linq 1.0 + FluentNHibernate 1.1

Будет два или более экземпляров этого шлюза FlourineFx и только 1 база данных.

Я планирую реализовать memcached как кэш 2-го уровня позже (какWindows Azure WorkerRole), но нужно ли это?(Я не против производительности, но я не против последовательности)

Ответы [ 3 ]

2 голосов
/ 07 сентября 2010

Я не знаю, решает ли кэш 2-го уровня некоторые проблемы, связанные с транзакциями, или просто делает это быстрее

Основная цель кэша L2 - избегать попаданий в базу данных, и я бы не сказал, что кэш L2 решает проблемы, связанные с транзакциями; Это может быть просто вовлечено (и, таким образом, сделать весь процесс немного более сложным), если NHibernate поддерживает полностью транзакционные кеши.

Лично я склонен ограничивать использование кэширования L2 объектами только для чтения (или в основном для чтения), вот где кэш L2 дает всю свою силу. Кэширование объектов чтения-записи сложнее, особенно в кластерной среде, и поставщик кэша должен поддерживать стратегию параллелизма кэша, требуемую вашим приложением для данного объекта (только для чтения, не строго для чтения-записи , читай пиши).

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

Ссылки

1 голос
/ 07 сентября 2010

Кеш не поможет вам с последовательностью. Конечно, поможет повысить производительность, и вам следует использовать распределенный, например memcached, если вы запускаете несколько экземпляров, как вы правильно поняли.

Тем не менее, NHibernate имеет функции, которые помогают с согласованностью. Проверка:

0 голосов
/ 08 сентября 2010

Нет, нет.

Но то, как вы, ребята, помогли мне указать верное направление, поможет с производительностью. Поэтому я обязательно запусту несколько экземпляров memcached и продолжу исследовать контроль параллелизма.

Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...