当kafka做解耦后,怎么获取后面的操作层的结果,详细问题如下

lijie_cq 2017-02-21 03:29:18


这边就是每秒钟可能有很多操作,比如增删改查,把操作封装到对象然后转换为json,调用api层,api层xxoo之后扔到kafka队列里面,操作层从队列里面取操作,然后对hbase操作,这里就有个问题了。。。。 数据怎么返回回去?

用kafka就是怕并发太高了hbase扛不住,比如每秒10W次请求过来,这里不考虑数据的准确性

kafka中间解耦了,所以不知道怎么返回数据,比如查询的数据,或者增删改是否成功,搞完扔到redis可以么? 那每一个操作都会对redis查询一次,。。。

client端口可能就是一个普通的java程序用httpclient访问的api
...全文
420 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
lijie_cq 2017-02-22
  • 打赏
  • 举报
回复
反向回调的话,得sdk端那边得开一个接口才行了,但是那边可能是一个简单的java程序呢
yql1986 2017-02-21
  • 打赏
  • 举报
回复
操作层处理的结果是没有办法通过kafka返回给客户端的. kafka只会返回接受客户端发送消息后,消息在其副本之间同步的状态. 你需要做反向回调 操作封装到对象中要有一个操作层处理的状态.可以将这个对象放到redis中或者 发送到kafka中 有一个定时任务消费这些对象 调用客户端的借口通知操作层处理的结果

51,408

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧