极简教程,五分钟快速入门之dubbo,为后面的dubbo实战以及dubbo源码分析做铺垫。 一、dubbo是什么? 1)本质:一个Jar包,一个分布式框架,,一个远程服务调用...
在开始了解Netty是什么之前,我们先来回顾一下,如果我们需要实现一个客户端与服务端通信的程序,使用传统的IO编程,应该如何来实现? IO编程 我们简化下场景:客户端每隔两秒...
background netty 是一个异步事件驱动的网络通信层框架,其官方文档的解释为 Netty is a NIO client server framework whi...
前言 俗话说 「不要重复造轮子」,关于是否有必要不再本次讨论范围。 创建这个项目的主要目的还是提升自己,看看和知名类开源项目的差距以及学习优秀的开源方式。 好了,现在着重来谈...
消息队列 用RocketMQ 或者RabbitMQ更好,消息的可靠性更加。Kafka追求的是QPS,性能,但是既然是秒杀,抢购,则商品数不会太多,消息量不可能太大,消息的可靠性更重要。
另外最新的rocketmq4.3版本,已经支持事务消息了。
秒杀架构实践前言 之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好...
1. 为什么不用悲观锁?明显竞争压力大
2. 异步的操作可以持久化抢单用户的信息,定时任务去check是否 DB端正确消费,其实是一个分布式事务的问题
3. 页面也要做一些控制,比如提交订单后,置灰按钮避免重复抢单
4. 防止恶意的抢单软件,控制层考虑:利用redis做IP限流、抢单用户限流、校验防止不通过页面,直接用程序调用抢单,从而导致活动没开始就被人抢了
等等 诸多细节,感觉可以优化
秒杀架构实践前言 之前在 Java-Interview 中提到过秒杀架构的设计,这次基于其中的理论简单实现了一下。 本次采用循序渐进的方式逐步提高性能达到并发秒杀的效果,文章较长请准备好...
讲的很清楚,老哥很稳!
10、Zookeeper的数据与存储一、内存数据 Zookeeper的数据模型是树结构,在内存数据库中,存储了整棵树的内容,包括所有的节点路径、节点数据、ACL信息,Zookeeper会定时将这个数据存储到磁盘...
谢谢分享已经收藏了。
今年年初的时候,蚂蚁金服电话面试,我本以为我准备好了一切,面试的时候,面试官一句:那你讲讲ConcurretHasMap的size()函数吧?
当时我就感觉要翻车了。
HashMap? ConcurrentHashMap? 相信看完这篇没人能难住你!前言 Map 这样的 Key Value 在软件开发中是非常经典的结构,常用于在内存中存放数据。 本篇主要想讨论 ConcurrentHashMap 这样一个并发容器,在正式...
大佬。写的真好,既简洁又详细。
如果能整理出在java中通过mongodbTemplate调用的代码就更赞美了
MongoDB索引总结1、_id索引: 自动创建 2、单键索引: 【值为一个单个的值,例如字符串、数字或者日期】db.nums.insert({x:1,y:2,z:3})db.nums.ens...