toMap duplicate key를 처리하는 세 정책

stream과 state가 같은 s key를 만들 때 의도를 선택한다.

  1. Key 계산

    두 topic이 s로 충돌한다

    duplicate
  2. 오류 정책

    merge 없이 IllegalStateException

    reject
  3. 병합 정책

    Integer::sum처럼 값을 결합한다

    aggregate
  4. 다중 보존

    groupingBy로 List bucket을 만든다

    preserve

핵심: 무조건 첫 값을 택하는 merge는 숨은 데이터 손실이 될 수 있다.