Descord

Jiny's 개발 일기·2022년 11월 13일
0

Tech-Spec

  • Architecture: MSA
  • APIGateway: Spring Boot GraphQl(Webflux)
  • Language:
    • BackEnd: ( Kotlin, Java ) => Reactor3
    • FrontEnd: Thymleaf(Html, css...)
  • WebServer: Webflux(Netty)
  • Database: MySql(R2DBC)
  • Current Service
    • Account-Service
    • Chatting-Service

경과 보고서

2022.11.13(목)

서로 다른 서비스간 데이터 조인 해결(N+1)

>> 참고사항

  • Flux<ㅂ>에서 ㅂ는 List<타입>이 될 수 있다.
  • @BatchMapping(field="<필드>")로 field를 지정해 주어야 한다.
    • 필드가 배열로 정의 되어있으면 Flux<List<타입>>으로 return을 정의해야 한다.
  • 만약 매핑 함수의 리턴이 Flux라면 @QueryMapping이 아니라 @SubscriptionMapping으로 annotation을 작성해야 한다.
    • rsocketDocument도 query가 아닌 subscription으로 해야 함

>> 로그

GraphQl Server

2022-11-13 21:01:04.198  INFO 16784 --- [ctor-http-nio-3] reactor.Flux.Map.1                       : onSubscribe(FluxMap.MapSubscriber)
2022-11-13 21:01:04.199  INFO 16784 --- [ctor-http-nio-3] reactor.Flux.Map.1                       : request(1)
2022-11-13 21:01:04.595  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.Map.1                       : onNext(UserServerJoin[id=1, userId=1, userLevel=MANAGER, userServer=UserServer[id=1, name=test2], account=null])
2022-11-13 21:01:04.612  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.2                   : onSubscribe(FluxFlatMap.FlatMapMain)
2022-11-13 21:01:04.612  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.2                   : request(unbounded)
2022-11-13 21:01:04.937  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.2                   : onNext(Account[id=1, name=test1])
2022-11-13 21:01:04.937  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.2                   : onComplete()
2022-11-13 21:01:04.941  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.Map.1                       : request(9223372036854775806)
2022-11-13 21:01:04.948  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.Map.1                       : onNext(UserServerJoin[id=2, userId=2, userLevel=OWNER, userServer=UserServer[id=1, name=test2], account=null])
2022-11-13 21:01:04.949  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.3                   : onSubscribe(FluxFlatMap.FlatMapMain)
2022-11-13 21:01:04.949  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.3                   : request(unbounded)
2022-11-13 21:01:04.950  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.Map.1                       : onNext(UserServerJoin[id=3, userId=3, userLevel=JOINER, userServer=UserServer[id=1, name=test2], account=null])
2022-11-13 21:01:04.950  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.4                   : onSubscribe(FluxFlatMap.FlatMapMain)
2022-11-13 21:01:04.950  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.4                   : request(unbounded)
2022-11-13 21:01:04.955  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.Map.1                       : onComplete()
2022-11-13 21:01:04.978  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.4                   : onNext(Account[id=3, name=test3])
2022-11-13 21:01:04.979  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.4                   : onComplete()
2022-11-13 21:01:04.979  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.3                   : onNext(Account[id=2, name=test2])
2022-11-13 21:01:04.979  INFO 16784 --- [actor-tcp-nio-2] reactor.Flux.FlatMap.3                   : onComplete()

ChattingServer

2022-11-13 21:01:04.576  INFO 10752 --- [actor-tcp-nio-2] reactor.Flux.OnErrorResume.1             : onSubscribe(FluxOnErrorResume.ResumeSubscriber)
2022-11-13 21:01:04.577  INFO 10752 --- [actor-tcp-nio-2] reactor.Flux.OnErrorResume.1             : request(1)
2022-11-13 21:01:04.588  INFO 10752 --- [actor-tcp-nio-2] reactor.Flux.OnErrorResume.1             : onNext(com.descord.chattingserver.data.domain.UserServerJoin@25c5d503)
2022-11-13 21:01:04.942  INFO 10752 --- [ctor-http-nio-3] reactor.Flux.OnErrorResume.1             : request(unbounded)
2022-11-13 21:01:04.942  INFO 10752 --- [ctor-http-nio-3] reactor.Flux.OnErrorResume.1             : onNext(com.descord.chattingserver.data.domain.UserServerJoin@623d4088)
2022-11-13 21:01:04.942  INFO 10752 --- [ctor-http-nio-3] reactor.Flux.OnErrorResume.1             : onNext(com.descord.chattingserver.data.domain.UserServerJoin@ba3f969)
2022-11-13 21:01:04.944  INFO 10752 --- [ctor-http-nio-3] reactor.Flux.OnErrorResume.1             : onComplete()

AccountServer

2022-11-13 21:01:04.724  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.1                      : onSubscribe(MonoNext.NextSubscriber)
2022-11-13 21:01:04.725  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.1                      : request(1)
2022-11-13 21:01:04.931  INFO 7628 --- [actor-tcp-nio-2] reactor.Mono.Next.1                      : onNext(com.descord.accountserver.data.domain.Account@605e41c5)
2022-11-13 21:01:04.934  INFO 7628 --- [actor-tcp-nio-2] reactor.Mono.Next.1                      : cancel()
2022-11-13 21:01:04.935  INFO 7628 --- [actor-tcp-nio-2] reactor.Mono.Next.1                      : request(9223372036854775806)
2022-11-13 21:01:04.935  INFO 7628 --- [actor-tcp-nio-2] reactor.Mono.Next.1                      : onComplete()
2022-11-13 21:01:04.955  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.2                      : onSubscribe(MonoNext.NextSubscriber)
2022-11-13 21:01:04.955  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.2                      : request(1)
2022-11-13 21:01:04.956  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.3                      : onSubscribe(MonoNext.NextSubscriber)
2022-11-13 21:01:04.956  INFO 7628 --- [ctor-http-nio-3] reactor.Mono.Next.3                      : request(1)
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-4] reactor.Mono.Next.3                      : onNext(com.descord.accountserver.data.domain.Account@57269ceb)
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-3] reactor.Mono.Next.2                      : onNext(com.descord.accountserver.data.domain.Account@6beebc6f)
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-4] reactor.Mono.Next.3                      : cancel()
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-3] reactor.Mono.Next.2                      : cancel()
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-3] reactor.Mono.Next.2                      : request(9223372036854775806)
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-4] reactor.Mono.Next.3                      : request(9223372036854775806)
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-3] reactor.Mono.Next.2                      : onComplete()
2022-11-13 21:01:04.977  INFO 7628 --- [actor-tcp-nio-4] reactor.Mono.Next.3                      : onComplete()
profile
옛날 블로그 주소 : https://jeongjin984.github.io/

0개의 댓글