接口冥等与kafka和docker部署

如何实现接口的冥等性?

  其实这个问题就是方式页面大量重复请求和重复提交的问题,这种问题可以根据接口调用规则,给相同时间一定时间的调用绑定一个唯一id,id可以放在header里面,比如支付订单时,不能让用户多次支付同一个订单,这是你就可以把订单id当成唯一的id了,在后台通过分布式锁的方案来加锁实现

kafka的一些了解

kafka相对与rabbitMq是采取分布式集群来部署的,比较适合处理高并发的业务,因为kafka对接的是流式对象,每条记录都是包含key,value和时间戳的,kafka里面是一个个topic,每个topic都允许多个消费者来订阅,最关键一点是消息消费不会删除,只有等过了策略设置的消息保存时间才会消息消失掉,而且kafka是通过分区日志来保存消息的,每个topic都有一个或多个分区,一个分区因为集群部署的关系含有一个leader和多个follower,确保消息可靠性,而每个分区的消息是有序,消费者可以通过选定偏移量来随机访问分区上的消息,但是多个分区的消息就不是有序的,还有就是要注意分区的数量一定要大于每个消费组实例的数量,确保消费组的每个实例都能分配到一个分区

docker部署相关了解

现在都采用docker去打包部署项目,那docker是什么呢?docker直译为码头工人,安装docker,安装docker加速器,docker创建镜像,docker从docker registry拉取镜像,docker建立私有docker registry仓库,docker运行镜像创建容器

这么看起来docker有点像是maven,maven能从仓库拉取jar并通过插件运行项目,但是还是需要一些本地资源如java/redis/mysql之类的,但是docker就不一样了,它不仅可以拉去包还可以拉去很多软件然后创建一个容器让项目在容器里面跑起来,

很厉害,主要是编写好dockerfile里面的脚本

在实际项目,可以在maven集成docker插件,然后运行mvn clean package docker:build 直接打包创建容器运行,真是越来越智能化了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值