一致性hash

阿里云实操训练

https://start.aliyun.com/handson-lab/#%21category=arthas

秒杀场景设计/高并发下单/订单生成

https://www.jianshu.com/p/2707559bdc04
https://bbs.huaweicloud.com/blogs/221143
最佳实践 - 图2最佳实践 - 图3

设计一个数据库系统

实现一个文件管理器

设计一个数据库连接池

  • 连接池连接设计遵守 LRU 策略,性能的关键点是连接是否 LRU 方式重用。
  • 通过 Hash 去连接,实现串行化
  • 可以自动扩容连接数
  • 连接数过多,可以自动关闭连接,释放资源

    设计一个im系统包括群聊和单聊

    最佳实践 - 图4

    设计一个三高电商系统

    最佳实践 - 图5

    设计一个抢红包系统

    最佳实践 - 图6

    引擎系统

调度系统

Dolphin Scheduler
https://blog.csdn.net/qq_32613771/article/details/112400682

秒杀系统

  • 业务规则

    如何设计一个上千万的实时排行榜?只要前100名,还有用户自己的排行数据

    feed流/微信朋友圈/社交系统

    接入层:长链接
    逻辑层:注册、消息、群聊、朋友圈、通知
    存储代理层:KV

推拉模型(读扩散/单数据副本写扩散)
一般是推(写容错性高)
大V拉

  • 发布
    发布数据记录了来自所有用户所有的feed,比如一个用户发布了几张图片,每张图片的URL是什么,在CDN里的URL是什么,它有哪些元属性,谁可以看,谁不可以看等等。
  • 相册
    相册是每个用户独立的,记录了该用户所发布的所有内容。
  • 评论
    评论就是针对某个具体发布的朋友评论和点赞操作。
  • 时间线
    所谓“刷朋友圈”,就是刷时间线,就是一个用户所有朋友的发布内容。

推拉模型
Mysql、Kafka、Redis
数据一致性、消息队列、nosql、微服务治理

RPC框架

  • 注册中心 :注册中心负责服务地址的注册与查找,相当于目录服务。
  • 网络传输 :既然我们要调用远程的方法,就要发送网络请求来传递目标类和方法的信息以及方法的参数等数据到服务提供端。
  • 序列化和反序列化 :要在网络传输数据就要涉及到序列化。
  • 动态代理 :屏蔽程方法调用的底层细节。
  • 负载均衡 : 避免单个服务器响应同一请求,容易造成服务器宕机、崩溃等问题。
  • 传输协议 :这个协议是客户端(服务消费方)和服务端(服务提供方)交流的基础。
  • 管理

    分布式缓存系统

    多级缓存系统

    调度系统

    微博粉丝关注

    红包系统

    主要考察点感觉可以分为以下几点:
    1.抢红包也算是一个高并发的操作了,如何保证高并发下数据的一致性?如果是分布式服务,红包的剩余个数、金额可以放在redis中维护,如果只是一个单体环境,可以使用消息队列加原子类。

2.每个红包(每人抢到的红包)的金额是预先分配好还是临时计算?预先分配好的话,只需要保证红包的个数不多发即可,打开红包时能相对快的展示金额,但是对于所有红包没有被完全领完的情况下,需要额外的空间去维护未领红包的信息; 临时计算则是实时在内存中计算,相对来讲响应时长稍慢,不过一般不会太长,有零点几秒的延迟的话,还能增加用户的期待值,活跃气氛,推荐此种方式。

3.为了保证每个红包金额的相对平均,需要一个核心的算法计算每个红包的金额大小:从1分到剩余平均值2倍之间随机数。

消息系统

短链接系统

https://blog.51cto.com/u_15127640/4127787

DNS服务

CDN服务

高可用秒杀和支付系统

实时日志分析系统