python 5 개 최고급 비동기 프레임 추천

Python 은 3.4 에 asyncio 라 이브 러 리 를 도 입 했 고 3.6 에 키워드 async 와 await 를 추 가 했 습 니 다.그 후에 비동기 프레임 워 크 는 신속히 발전 하여 성능 적 으로 Node.js 와 어깨 를 나란히 할 수 있 습 니 다.CPU 밀집 형 임무 가 아니면 비동기 프레임 워 크 를 적용 하지 않 을 이유 가 없습니다.
만약 당신 이 웹 개발 자라 면,현재 비동기 웹 프레임 워 크 에 더 많은 선택 이 있 습 니 다!
1、Tornado
토 나 도 는 새로운 프레임 워 크 가 아니 었 다.처음에는 프 렌 드 피 드(이후 페 이 스 북 에 인수)가 2009 년 발표 했다.처음부터 비동기 프로 그래 밍 기능 을 제공 합 니 다.

Tornado 는 웹 프레임 워 크 뿐만 아니 라 비동기 모듈 을 많이 내장 하여 비동기 응용 을 구축 할 수 있 습 니 다.이 모듈 들 은 다음 을 포함한다.
  • 협동 프로그램 및 기타 원 어(tornado.gen,tornado.locks,tornado.queues 등)
  • 네트워크 모듈(tornado.ioloop,tornado.iostream 등)
  • 비동기 서버 와 클 라 이언 트(tornado.httpserver,tornado.httpclient,등)
  • 이 모듈 을 통 해 Tornado 는 자신의 비동기 웹 프레임 워 크 모듈 을 구축 했다.
    
    import tornado.ioloop
    import tornado.web
    
    class MainHandler(tornado.web.RequestHandler):
      def get(self):
        self.write("Hello, world")
    
    def make_app():
      return tornado.web.Application([
        (r"/", MainHandler),
      ])
    
    if __name__ == "__main__":
      app = make_app()
      app.listen(8888)
      tornado.ioloop.IOLoop.current().start()
    Tornado 는 Python 커 뮤 니 티 에서 많은 추종 자 를 가지 고 있 으 며 경험 이 풍부 한 구조 사 들 이 이 를 이용 하여 기능 이 강 한 시스템 을 구축 하고 있다.이 프레임 워 크 는 오랫동안 병발 문 제 를 해결 해 왔 으 나 WSGI 표준(대부분의 Python 라 이브 러 리 가 동기 화 되 고 있 음)을 지원 하지 않 아 주류 가 되 지 못 했다.
    국내 에 서 는 토 란 도 를 기반 으로 한 것 으로 알려 져 있다.
    2、 Snaic
    Sanic 은 3 년 동안 태 어 난 프레임 워 크 입 니 다.3.6 이상 Python 버 전 만 지원 하고 통용 되 는 4.567914./4.567914.문법 을 지원 합 니 다.상 자 를 열 면 바로 사용 할 수 있 기 때문에 많은 문 서 를 읽 지 않 아 도 HTTP 프로 세 서 를 쓸 수 있 습 니 다.

    키 워드 를 제외 하고 문법 적 으로 fllask 기반 과 차이 가 없다.
    
    from sanic import Sanic
    from sanic.response import json
    
    app = Sanic()
    
    @app.route("/")
    async def test(request):
      return json({"hello": "world"})
    
    if __name__ == "__main__":
      app.run(host="0.0.0.0", port=8000)
    사 닉 은 파 이 썬 세계 에서 가장 유행 하고 인기 있 는 비동기 프레임 이 라 고 할 수 있다.이것 은 프로젝트 에 필요 한 모든 기능 을 가지 고 있 습 니 다.경로,미들웨어,Cookie,버 전 관리,청사진,클래스 기반 보기,정적 파일,흐름,sockets,그 밖 에 템 플 릿,데이터 베이스 구동,파일 I/O,대기 열 등 을 통합 할 수 있 습 니 다.
    3、Vibora
    비보 라 와 사 닉 은 가장 빠 른 파 이 썬 웹 서버 가 되 기 위해 노력 하고 있다.그들 사이트 의 첫 페이지 에는 프레임 워 크 비교 그림 이 있다.

    비보 라 는 다른 프레임 보다 몇 배,경쟁 사인 사 닉 보다 두 배 이상 빠르다 고 주장 했다.물론 이 기준 테스트 는 회의 적 이 어야 한다.
    비록 문법 과 기능 에 있어 서 Vibora 는 Sanic 과 견 줄 수 있 지만 저 는 Sanic 이 더욱 성숙 하 다 고 생각 합 니 다.왜냐하면 그것 은 이미 오랫동안 존재 하고 더 큰 지역 사 회 를 가지 고 있 기 때 문 입 니 다.
    
    from vibora import Vibora, JsonResponse
    
    app = Vibora()
    
    @app.route('/')
    async def home():
      return JsonResponse({'hello': 'world'})
    
    if __name__ == '__main__':
      app.run(host="0.0.0.0", port=8000)
    4、Quart
    만약 당신 이 Flask 를 좋아 하지만 비동기 도 지원 한다 면,Quart 는 반드시 좋아 할 것 입 니 다.

    쿼 트 는 ASGI 기준 에 부합 하 며,이 기준 은 WSGI 기준 후계 제품 이 며 비동기 지원 을 제공한다.Quart 는 Flask 와 비슷 할 뿐만 아니 라 Flask API 와 호 환 됩 니 다!이 프레임 워 크 의 저 자 는 Flask 스타일 을 유지 하고 싶 어 합 니 다.비동기,WebSocket,HTTP 2 지원 만 추가 합 니 다.따라서 Flask 문서 에서 Quart 의 용법 을 배 울 수 있 습 니 다.Quart 의 함수 가 비동기 적 이라는 것 만 기억 하면 됩 니 다.
    
    from quart import Quart
    
    app = Quart(__name__)
    
    @app.route('/')
    async def hello():
      return 'hello'
    
    app.run()
    거의 플 라 스 크 같 아 요.
    Quart 는 Flask 에서 진 행 된 것 이기 때문에 Flask 의 모든 기능 은 경로,미들웨어,세 션,템 플 릿,청사진 등 을 사용 할 수 있 습 니 다.실제로 Quart 내부 에서 Flask 확장 플러그 인 을 직접 사용 할 수도 있다.그러나 문 제 는 Python 3.7+만 지원 한 다 는 것 이다.
    5、FastAPI
    FastAPI 는 비동기 Python 프레임 워 크 에서 기능 적 이 고 문서 가 가장 풍부 한 프레임 워 크 인 것 같 습 니 다.

    이 프레임 워 크 의 저 자 는 Django 에서 Sanic 까지 의 현대 프레임 워 크 와 NestJS(Node.js,Typescript Web 프레임 워 크)를 깊이 연구 했다.
    문법 은 심지어 우리 가 만난 다른 틀 보다 더 재미있다 고 할 수 있다.
    
    rom fastapi import FastAPI
    
    app = FastAPI()
    
    @app.get("/users/me")
    async def read_user_me():
      return {"user_id": "the current user"}
    
    @app.get("/users/{user_id}")
    async def read_user(user_id: str):
      return {"user_id": user_id}
    FastAPI 가 다른 프레임 워 크 보다 뛰어난 비장의 무기 목록:
    API 문서 자동 생 성:API 인 터 페 이 스 를 작성 하면 SwaggerUI,ReDoc 등 표준 에 맞 는 UI 를 사용 하여 API 를 사용 할 수 있 습 니 다.

    그럼 성능 은 요?FastAPI 는 Starlette 라 이브 러 리 를 기반 으로 구 축 된 것 으로 노드 와 성능 이 일치 할 수 있 으 며,어떤 경우 에는 Go 와 도 일치 할 수 있다.한 마디 로 하면 저 는 FastAPI 가 Python 의 최고급 비동기 프레임 워 크 가 될 것 이라는 느낌 이 듭 니 다.
    총결산
    현재 파 이 썬 의 비동기 생태 에 많은 일이 일어나 고 있다.새로운 프레임 워 크 가 생 겼 습 니 다.오래된 프레임 워 크 는 다시 쓰 고 있 습 니 다.많은 라 이브 러 리 에서 비동기 행 위 를 지원 하기 시 작 했 습 니 다.웹 프레임 워 크 에 대해 Python 은 이미 준비 가 되 어 있어 뛰어난 성능 을 제공 할 수 있 습 니 다.오랫동안 Node 나 go 로 이전 하 는 것 을 고려 하고 있다 면 이 제 는 필요 없다.
    원문 참조 연결:
    이상 은 python 5 개의 최고급 비동기 프레임 워 크 가 추천 하 는 상세 한 내용 입 니 다.python 비동기 프레임 워 크 에 관 한 자 료 는 다른 관련 글 을 주목 하 십시오!

    좋은 웹페이지 즐겨찾기