Anonymous
Use NLB as a load balancer for tcp with ttl termination followed by kinesis stream. Use Separate Channel with shard key to distribute events across multiple partition and consumed by lambda for saving data to nosql database with eventual consistency. Use master and slave with partitioned architecture at nosql databaes to write data. Use Consistent hashing for distribution of data at database. Also Lambda put details in kafka for further processing. Flink consumer follow the events and process for analytics and saving to high available self rebalancing , async write database. Sync this db with BI tools for extensive filter based query on slave nodes.