Piszę logikę po stronie serwera dla aplikacji Meteor, która musi aktualizować stan w pamięci w odpowiedzi na żądania od klienta. Ta aplikacja wymaga silnych gwarancji współbieżności - w szczególności chcę mieć pewność, że jest tylko jedna aktualizacja wykonywana jednocześnie.Czym jest model współbieżności Meteor?
Próbuję dowiedzieć się, czy model współbieżności Meteor obsługuje to. Dokumentacja wspomina, że Meteor jest wielowątkowy (co stanowiłoby problem), ale po przeszukiwaniu wydaje mi się, że Meteor faktycznie używa włókien (jawnie zaplanowanych wątków). Jeśli to prawda, to jestem bezpieczny, o ile część mojego kodu, który musi działać atomowo, nie wykonuje żadnych wywołań Meteora (które dotyczą IO, a tym samym powodują blokadę wykonania).
Czy tak jest w tym przypadku? Gdzie mogę znaleźć więcej informacji na temat modelu współbieżności Meteor?
Myślę, że powinieneś sam zaimplementować blokady do przechowywania w pamięci lub możesz użyć operacji atomowych mongo. – Denis
Jeśli to pomaga, dokumentacja dla biblioteki włókien jest [tutaj] [1] [1]: https://github.com/laverdet/node-fibers –
@Denis Jeśli mogę zaimplementować blokady w pamięci, ponieważ Operacje non-IO, nie przynoszące zysków, są atomowe, więc nie potrzebuję ich nawet dla tej aplikacji. W każdym razie chcę wiedzieć, jak współbieżność w Meteorzie działa dla przyszłych informacji. Te rzeczy powinny być wyraźnie udokumentowane; nie jest. Prawdopodobnie zakończę przeglądanie kodu źródłowego Meteor. – disatisfieddinosaur