2019-10-24 技术随想

一、google guava

loca cache 的实现原理
算法FIFO vs LIFO

二、redis

如何实现分布式锁

client 执行命令在redis服务器是单线程执行的,天然的保持有序,拥有锁的特性

为啥单线程也能拥有高性能

数据直接存储在内存中,内存读写效率只比cpu高速缓存差一点,读写效率如此高,足以轻松处理client请求,没必要多线程执行了,况且多线程还会增加线程上下文切换的开销,反而降低redis的性能

三、锁

CAS(control and set)自旋锁
悲观锁
select for update/ update commit
乐观锁
update xxx where version=xxx;
排它锁 vs 共享锁

索引

  • b+ tree 算法图解

事务 vs 事务隔离级别4种

transction 事务 手动 vs 自动 提交

四、HashMap vs LinkedList

内部算法实现剖析
hash table vs 链表

五、MQ原理解析

理解算法 生产者消费者模型
kafka 消息中间件

六、ApiGateway

  • 微服务场景下,需要有一个事物来做协议转换(http协议转化为微服务间的通通信协议)
  • 网关验签 utk dtk
  • 接口请求 权限验证

七、deploy项目

kubernate && docker && git && jenkins && java开启进程 && grovvy管理配置
多项目依赖发布解决方案

八、电商系统之订单系统-order\trade

购物车:加入购物车,查看购物车,修改数量,规则,删除,购物车下单
渲染订单
提交订单
订单列表-详情

九、电商系统之售后系统-rma(Return Materiel Authorization)

电商产品退货退款的那些事
换休退货
状态机的应用

十、电商系统之营销系统-am(activityManager)

限时特惠
营销三宝
闪购
拼团
众筹
集赞
预售
万人团 超级团

十一、日志采集系统

页面定位信息预埋

spm

渠道追踪信息预埋

utm

用户行为日志

  1. 移动端上报(yd.gif)
  2. ruby service 处理请求投递到 kafka mq
  3. spark streaming 消费kafka消息,行为日志落到 odps partition table

api接口访问日志

1.网关请求access log解析投递到 kafka mq
2.log 落到 odps partition table

十二、数据分析

源头

业务数据 && 日志(用户行为 + 接口访问)

离线分析:dataworks

  1. odps(hadoop) sql 做分析
  2. quickbi
  3. kylin

实时报表

  1. canal 实时报表
  2. adbpg:GreemPlum postgresql (准实时报表)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容