Api REST asynchroniczne.

0

Witam
Chciałbym się dowiedzieć jakich bibliotek użyć do api asynchronicznego. Flask i Django odpadają ponieważ są synchroniczne. W poszukiwaniu natrafiłem na aiohttp i asuncio. Według testów sprawuje się to o rząd wielkości lepiej niż Falsk i django. Czy ktoś już miał z tym styczność i faktycznie jest to takie fajne, jakie wiążą się z tym zagrożenia.
Dodam że usługa będzie obsługiwać nawet do 8-10 tyś odpytań na sekundę przy jednoczesnym kopaniu w bazie danych. Do bazy danych oczywiście użyję sqlalchemy.

2

Obczaj FastAPI (które bazuje na Starlette, https://fastapi.tiangolo.com/). W benchmarkach niewiele odstaje od Node'a oraz Go.

1

Uzywam asyncio do asynchronicznego scrapowania gdzie pozniejszy content laduje w bazie. Wydajnosciowo wyglada to ciekawie a samo napisanie taska w asyncio jest dziecinnie proste.

0

Tornado było asynchroniczne zanim to było modne. W istocie, cały ten pęd na dodanie do języka prymitywów asynchronicznych i pętli zdarzeń w bibliotece standardowej został wzięty od doświadczeń z tym frameworkiem (oraz Twisted, który był bardziej abstrakcyjny jako framework aplikacji sieciowych opartych na różnych protokołach, a nie tylko webowy), a autorzy obu tych narzędzi współpracowali przy projektowaniu rozwiązań w samym języku. Potem wszedł Sanic, który stał się takim Flaskiem opartym na asynchroniczności aby go prześcignąć w benchmarkach.

W każdym razie zaletą tych frameworków jest to, że są to właśnie frameworki, czyli masa rzeczy do robienia aplikacji webowych jest gotowa i dostępna od ręki, podczas gdy "gołe" biblioteki HTTP wymagają więcej pracy. W każdym razie, w czasach gdy używałem mocno Tornado (a było to w okolicach 2013 roku) był on całkiem przyjemny w użyciu. I już wtedy reklamował się jako rozwiązanie ogarniające Problem C10K.

0

Super Dzięki za info przekonało mnie do siebie Fastapi + uvicorn. Jedyne co mi zostało to pisać program i uczyć się :)
Wielkie dzięki :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0