Согласно this, «Каждый map.get (k) будет удаленной операцией« Но где же пульт? Например, у меня есть узел, который записывает в IMap с ключом - k. Еще 50 узлов, которые читают из IMap, используя map.get (k). Что происходит, когда 50 узлов называют map.get (k). Каждый вызов приходит к узлу, который пишет? Если да, то сколько копий IMap сделает этот «удаленный» узел в ответ на эти 50 вызовов? Многопоточность? Является ли этот синглтон IMap? Или каждый поток создаст глубокую копию такого IMAP?Где HazelCast map.get() go? И масштабируемость относится к
ответ
Но где же пульт дистанционного управления?
Ответ приведен в предыдущем предложении в прилагаемой документации: «Представьте, что вы читаете ключ k столько раз, а k принадлежит другому члену вашего кластера». Каждая клавиша хэшируется и отображается на раздел, как описано в http://docs.hazelcast.org/docs/3.7/manual/html-single/index.html#sharding-in-hazelcast и раздел «Разделение данных», который следует далее. Член кластера, которому принадлежит этот раздел, является владельцем (или основной репликой) ключа. Каждый прочитанный & пишет, что этот ключ будет выполняться тем же потоком на этом конкретном члене (то есть, если ваша конфигурация не позволяет читать из резервной копии).
Что происходит, когда 50 узлов называют map.get (k). Каждый вызов приходит к узлу, который пишет?
Да, это всегда ключевой владелец, который выполняет операции над этим ключом.
Если да, то сколько копий IMap сделает этот «удаленный» узел в ответ на эти 50 вызовов?
Участник имеет только один экземпляр IMap, без копий.
Многопоточность?
Нет, все операции с одним и тем же ключом k
будут выполняться в одном потоке раздела на том же элементе, который является основной репликой этого ключа. Вы можете узнать больше о моделировании операций с потоками в http://docs.hazelcast.org/docs/3.7/manual/html-single/index.html#operation-threading
- 1. Графическая масштабируемость и масштабируемость реле
- 2. Где аннотация типа относится к ограниченному шаблону?
- 3. Где «это» переменная относится к в JavaScript
- 4. Где код относится к/proc/PID/maps?
- 5. подключение клиента к Hazelcast издевались Hazelcast например
- 6. Производительность и масштабируемость для доступа к данным
- 7. Где request.param (...) в Go
- 8. MVC3 и масштабируемость сеанса
- 9. VowpalWabbit: Различия и масштабируемость
- 10. Производительность и масштабируемость NHibernate
- 11. Масштабируемость и ограничения SpinLock
- 12. Масштабируемость и доступность
- 13. Приращение результата Map.get()
- 14. Map.get() оптимизация: тройная оператор
- 15. WP7 Silverlight App Масштабируемость Масштабируемость
- 16. Синхронизация и масштабируемость cuda
- 17. Таймер Java и масштабируемость
- 18. Bosun HA и масштабируемость
- 19. Где протекающая рутина Go?
- 20. JAVA: карты и тип возврата Map.get
- 21. Масштабируемость IIS
- 22. Где будет строить Go
- 23. Где мой метод go
- 24. Hazelcast: подключение к удаленному кластеру
- 25. «класс» относится к «объекту», поскольку «интерфейс» относится к ...?
- 26. Почему объект, к которому относится переменная Proc, относится к изменению?
- 27. где GMSPlacesClient.lookUpPhotosForPlaceID go?
- 28. Custom IIdentity - где он относится к многоуровневому приложению?
- 29. Где это относится к этому образцу кода jquery?
- 30. Настройка клиента и сервера hazelcast
Если я включу ближайшее кэш, я получу устаревшие данные? Так что это нежелательно. Я всегда должен идти к удаленному владельцу ключа. Я не вижу прецедента для близкого кэша. – johnsam
@johnsam с конфигурацией 'invalidate-on-change', рядом с кешем будет подписаться на события изменений. Если данные были изменены в удаленном члене, клиент будет считывать его с удаленного устройства и хранить в ближайшем кэше. –
greate. Является ли ближайший кэш реализацией JCache? – johnsam