高并发
高可用
消息队列异步解耦,一致性均衡 CAP不可能三角,只能保证两个,一般是保证AP 可用性,一致性,分区容错性 可用性就是在一定的时间内返回值正确的信息 比如商家-用户-骑手,加上消息队列之后处理,是最终一致性而不是实时一致性,达成一个可用和一致的均衡
-
X轴:服务和数据的水平复制和克隆
-
Y轴:功能分解和细分(或微服务)业务拆分
-
Z轴:沿客户边界的服务和数据分区-分片/窗格 x扩展应用,负载均衡,y拆分服务,z数据库分库分表 常见的分片的方式
-
业务数据按月分表
-
客户表按照customer_id 用户ID的模数或散列表进行划分
秒杀
如何解决三高问题 快速查询,多级缓存命中 JVM本地缓存-一级缓存-容量不大-明确固定数据 二级缓存-redis-热点数据 三级缓存
go因为具有协程更适合高并发的场景,java更适合维护性,周边配套 算法并不是很深的,不需要hard,mid熟练灵活运用就可以了 要钻研一个很深的技术,产生很多互动,深入挖掘,而不是太广泛的 然后要熟悉很多基础算法和现场编码的能力,风格,边界条件
数据密集型应用系统设计 effective java 深入了解java虚拟机 高性能MySQL Redis设计与实现