StreamingEventProcessor가 Event Stream을 열 때 Token이 선언되어야 한다.
따라서
Token에 대한 CRUD가 필요하기에 TrackingTokens는 Token Store에 저장되어야 한다. Token Store는 InMemoryTokenStore, JpaTokenStore, JdbcTokenStore, MongoTokenStore를 사용할 수 있다.
token을 기준으로 원하는 지점에서 replay할 수도 있다.
token을 못찾거나 타임아웃, 예외 등이 발생하면 token stealing이 일어날 수 있다.
롤백이 불가능하다면 이벤트 실행이 멱등성을 가지도록 설계해야 한다.
만약 순서가 보장되고 하나의 스레드에서 처리되어야 하는 작업이라면 AMQP를 이용한 subscribing event processor를 써야 한다.