Есть ли конкретная причина, по которой Ignite.NET не поддерживает асинхронные запросы? - PullRequest
0 голосов
/ 14 мая 2019

В настоящее время Ignite.NET поддерживает асинхронные операции для подмножества операций в ICache. Однако ни SQLQueries, ни запросы LINQ не поддерживают асинхронную оценку.

Это, по-видимому, явное упущение, поскольку именно при длительных запросах асинхронная поддержка может очень помочь с масштабируемостью сервера .... поэтому мне интересно, есть ли очень специфическая причина, по которой это не поддерживается ...

(кстати, похоже, теперь есть способ пройти все ключи в кэше асинхронно, что также было бы полезно) ...

Может быть, кто-то может пролить свет на это ....

Кстати, предложение здесь, чтобы решить эту "проблему" Поддерживает ли Apache.Ignite.Linq асинхронное / ожидание? Асинхронное / ожидание с использованием Ignite Linq

- это действительно ужасная идея для серверного приложения, где масштабируемость находится в центре внимания и никогда не должна быть реализована.

1 Ответ

0 голосов
/ 15 мая 2019

Ignite.NET основан на Ignite (написан на Java), и, к сожалению, в Ignite нет API для асинхронных запросов. Поскольку мы просто вызываем Ignite API через JNI, мы ничего не можем сделать, чтобы сделать истинный асинхронный API из вызова синхронизации.

Но тонкий клиент Ignite.NET сейчас находится в активной разработке и основан на Socket (без JNI), что позволяет нам создавать любые API-интерфейсы, которые мы хотим. Выполняются асинхронные запросы: https://issues.apache.org/jira/browse/IGNITE-7154

...