关闭
当前搜索:

9个错误的缓存设计实践

0x0 依赖默认的序列化/反序列化器默认的序列化/反序列化器会消耗大量CPU,尤其是对于比较复杂的数据类型。针对你的开发语言和编程环境使用更合适的序列化/反序列化机制是有必要的。0x1 将大对象存在单个缓存项中由于对大对象进行序列化和反序列化的CPU代价非常高昂,在高负载情况下,大量的访问大对象缓存可以很快耗尽服务器CPU。相反,我们应该将大对象分解成更小的对象,并且单独缓存。(译者补充:比如Red...
阅读(114) 评论(1)

秒杀系统架构

一、秒杀业务为什么难做1)im系统,例如qq或者微博,每个人都读自己的数据(好友列表、群列表、个人信息);2)微博系统,每个人读你关注的人的数据,一个人读多个人的数据;3)秒杀系统,库存只有一份,所有人会在集中的时间读和写这些数据,多个人读一个数据。例如:小米手机每周二的秒杀,可能手机只有1万部,但瞬时进入的流量可能是几百几千万。12306抢票,票是有限的,库存一份,瞬时流量非常多,都读相同的库存。...
阅读(709) 评论(1)

微服务架构图

# ACE简单的微服务基础库。 提供三种领域事件 Action/Command/Event。Action 用于前端和微服务之间通信; Command 用于 Aggregate 之间通信; Event 用于微服务之间通信。 DDD/CQRS and microservice architectural patterns...
阅读(781) 评论(0)

Repository模式

最近开发的MVC项目使用了Repository模式。 什么是Repository模式?从图看,有一个仓库接口,一个实现了这个仓库接口的基类;然后在使用方,一方面,要声明一个继承于仓库接口的子接口,另一方面,编写一个数据库操作类,继承仓库基类,并实现这个子接口。继承仓库基类容易理解,为啥还要搞一个子接口呢?直接实现仓库接口不就完啦?思考其中原因,应该是为了控制反转,依赖注入,总之一个类对应一个接口就...
阅读(362) 评论(0)
    个人资料
    • 访问:1065151次
    • 积分:15790
    • 等级:
    • 排名:第717名
    • 原创:313篇
    • 转载:762篇
    • 译文:107篇
    • 评论:274条
    博客专栏
    文章分类
    打赏
    如果你觉得我的文章对您有用,请随意打赏。 微信 支付宝