Chcę utworzyć kolejkę, w której klienci mogą wysyłać żądania, a następnie wątki robocze serwera mogą je wyciągnąć, ponieważ mają dostępne zasoby.Jak utworzyć kolejkę z wieloma pracownikami?
Odkrywam, jak mogłem to zrobić w repozytorium Firebase, a nie w zewnętrznej usłudze kolejkowania, która musiałaby następnie wprowadzić dane z powrotem do Firebase.
z bezpieczeństwem i walidacji narzędzi w umyśle, oto prosty przykład tego, co mam na myśli:
- użytkownik naciska prośbę do „kolejki” Bucket
- serwery wyciągnąć wniosek i usuwa to (jak mogę zapewnić tylko jeden serwer otrzyma żądanie?)
- serwer sprawdza poprawność danych i pobiera od prywatnego wiadra (lub wstrzykuje nowe dane)
- serwer wypycha dane i/lub błędów z powrotem do wiadra użytkownika
Uproszczony przykład, gdzie może to być użyteczne byłoby uwierzytelniania:
- użytkownik stawia żądanie uwierzytelnienia do kolejki publicznej
- jego login/hasło idzie do swojego prywatnego wiadrze (miejsce, w którym tylko on może czytać/zapisywać)
- serwer odbiera żądanie uwierzytelnienia, pobiera login/hasło i sprawdza przed prywatnym buc Ket tylko serwer może uzyskać dostęp
- serwera popycha token do prywatnej wiadra użytkownika
(oczywiście nadal istnieją pewne luki bezpieczeństwa w kolejce publicznego; Ja tylko badanie w tym momencie)
niektórych innych przykładów do wykorzystania:
- czytać tylko kolejka status (status użytkownika jest przekazywana za pośrednictwem prywatnej wiadra, serwer zapisu jest to do wiadra publicznego, który jest tylko do odczytu dla publiczności)
- wiadomość kolejka (komunikaty są wysyłane przez użytkownika, które serwer zdecyduje wiadra dyskusyjne one zrzucane do)
więc pytania są:
- Czy to dobry projekt, który będzie dobrze integrował się z nadchodzącymi planami bezpieczeństwa? Jakie są alternatywne podejścia badane?
- W jaki sposób uzyskać wszystkie serwery do odsłuchania kolejki, ale tylko jeden do odebrania każdego żądania?
@Michael_Lehenbauer dziękuję za wielką wyjaśnienia. Jestem podekscytowany słysząc o różnorodności opcji uwierzytelniania - brzmi świetnie. – Kato
Idea losowych kolejek roboczych jest interesująca; Przypuszczam, że stwarza to pewne zagadnienie, jeśli serwery przejdą w tryb offline. Przypuszczam, że możemy usunąć kolejkę, jeśli serwer stanie się offline i zatrzyma klientów odpowiedzialnych za śledzenie ich żądań i delegowanie ich na nowy serwer. – Kato
@ Kato Sprawdziłem bibliotekę kolejki firebase, ale nie jestem pewien, czy odpowiada ona na moje pytanie tutaj: http://stackoverflow.com/questions/41979438/are-there-any-solution-support-this-single-concurrency-distributed -queue. Czy myślisz o jakimkolwiek rozwiązaniu? – DucDigital