Giter VIP home page Giter VIP logo

spring-webflux's Introduction

spring-webflux

Study Spring Webflux

  • Spring Webflux -> Reactor Netty (Project Reactor)
  • Reactor Netty (Project Reactor) -> Reactor (Project Reactor) -> Reactive Streams
  • Reactor Netty (Project Reactor) -> Netty -> Java NIO + Reactor Pattern

Before projects

projects

이론 베이스

  • netty
    • netty 로 server, client 구현
  • reactor
    • monoflux
      • Reactor 의 Mono, Flux (Reactive Streams Publisher/Subscriber/Subscription 구현체)
      • 연산자 및 기본 동작 원리 알아보기
  • webhandler
    • DispatcherHandler 를 사용하지 않고, WebHandler, WebFilter, WebExceptionHandler 등을 사용하여 서버 만들기
  • functionalendpoints
    • Spring reactive stack 에서 제공하는 Functional Endpoints 로 서버 만들기
    • RouterFunction, HandlerFunction
  • webclient
    • spring webflux WebClient 알아보기
  • websocket
    • WebSocket 통신 프로토콜을 사용하는 간단한 서버 구현
    • SimpleUrlHandlerMapping, WebSocketHandler 활용
  • spring-cloud
    • reactive stack + spring cloud
      • spring cloud gateway (reactive)
        • RoutePredicate, GatewayFilter
        • GlobalFilter, dynamic determine route uri (todo)
      • spring cloud circuit breaker (reactive)
      • spring cloud stream (with kafka)

sub projects

실습 베이스(practice 하위에 존재하는 프로젝트)

  • reactor

  • practice/user, image

    • Spring Webflux 를 사용하여 reactor/practice/user 를 개선
    • Functional Endpoints
    • Annotated Controller
    • WebClient
    • Spring security reactive
  • practice/notification

    • Http streaming 기법을 구현
    • ServerSentEvent, Sinks 활용 (sse)
  • practice/chat

    • WebSocketHandler 를 이용한 채팅 서버 구현
    • SimpleUrlHandlerMapping, WebSocketHandler, WebSocketService, Sinks 활용
  • practice/withR2dbc/user

    • practice/user 에서 MySQL 을 추가
    • spring data r2dbc 를 사용하여 DB 와 연동
    • reactor-test 를 사용한 비동기 non-blocking 코드 Test
      • Unit test : UserService, AuthService
      • Slice test : UserController, UserR2dbcRepository
      • Integration test : User
  • practice/withMongo/chat

    • practice/chat 에서 MongoDB 를 추가
    • spring data mongodb reactive 를 사용하여 연동
    • todo, Test code (mongodb embedded 제공)
  • practice/withRedis/image

    • practice/image 에서 Redis 를 추가
    • spring data redis reactive 를 사용하여 연동
  • practice/withRedis/notice

    • practice/notice 에서 Redis 를 추가
    • spring data redis reactive 를 사용하여 연동
  • 외부 리포지토리

Posting

todo

  • reactor kafka (Project Reactor)

spring-webflux's People

Contributors

starryeye avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.