Spring Cloud Stream with kafka binder rely on Spring-kafka. So the former has all functionalities supported by later, but the former will be more heavyweight. Below are some points help you make the choice:
- If you might change kafka into another message middle-ware in the future, then Spring Cloud stream should be your choice since it hides implementation details of kafka.
- If you want to integrate other message middle with kafka, then you should go for Spring Cloud stream, since its selling point is to make such integration easy.
- If you want to enjoy the simplicity and not accept performance overhead, then choose spring-kafka
- If you plan to migrate to public cloud service, then use spring cloud stream which is part of spring cloud family.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…