@Shalom @spartanPAGE @Patryk27 wołam bo może myślicie, że problem w 100% rozwiązany ;p
Tłumaczę use case:
tworzę serwer na którym ma działać giełda. Tradycyjnie - jest rejestracja, sprzedaż, kupno, inne takie. Wszystko działa na Boost.Asio
. Zastanawiam się teraz nad zaprojektowanie bazy danych userów. Niestety nie mam w tym dużego doświadczenia. Moje pomysły:
- trzymam wszystko w SQLite
- część userów trzymam w pamięci RAM (może najaktywniejsi obecnie zalogowani?)
Tutaj pojawia się problem. Logowanie użytkownika to komenda login <username> <password>
. Po niej szukam usera w bazie danych, zapisuje jego aktualne ip. Każde kolejne komendy to np sell <price> <amount>
. Teraz wyszukuje użytkownika po aktualnym adresie ip (dodatkowo musi być zalogowany - trzymam zmienną bool logged_on
) i wykonuje komendę. Wszystko jest szyfrowane RSA i podpisane ed25519.
Jakieś pomysły? Najbardziej zależy mi na bezpieczeństwie. Właściwie nie wiem jak to ma być do końca zrobione. Tak jak mówiłem - to moja pierwsza styczność z projektowaniem serwera i bazy danych w C++.