设置
独立kafka示例
mysql数据库作为事件存储
使用springboot和axonframeowrkkafka扩展实现的命令服务
命令服务部署在k8s集群上
测试场景
jemeter脚本,500个并发测试用户在rest上启动命令
单示例命令服务-全部成功
命令服务扩展到2个示例-全部成功
命令服务扩展到3或4个示例-对某些请求观察到错误,例外如下 ERROR[0;39m o.a.c.c.C.[.[.[.[dispatcherServlet].log - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.axonframework.messaging.EventPublicationFailedException: Event publication failed: Exception occurred while committing kafka transaction]
检查了kafka扩展源代码,可以看到此异常Map到 ProducerFencedException
当命令服务水平扩展时,它似乎会生成重复的事件/事务ID。
请建议remidy或其他方法以避免这些例外情况。
暂无答案!
目前还没有任何答案,快来回答吧!