2019七月技术研究
七月技术研究
Java
Javafx
RxJavaFx响应式UI设计
loom
协程栈
代码优化与性能优化
- final内联编译(Hotpot已去除)
- ThreadLocal保存线程非安全变量(DateFormat)
- ENUM通过抽象方法进行状态间的转化
- 动态Lambda生成统一对象类型
- 三元运算符简化操作
- 矩阵运算(模式匹配)
Pendulum动态时延
工程实践
- 动态代理AOP
- 线程池隔离(Hystrix)
- 负载等级(分策略执行)
- 后台更新线程进行状态更新
- 注解嵌套
- RxJava2回调、异常、处理流程
- 接口工厂方法
- 分布式锁(Redis)
- 反射工具类
- 状态机(模式匹配)
- 注解Meta类与默认配置
动态时延算法
- 加减法
- 基于令牌桶计算延时时间
- 金字塔信号量
- 基于缓存队列计算延时时间 ☆
Sentinel
- 动态Rule创建与缓存维护
- 通过变量(volatile)维护状态变更
限流算法
- 滑动窗口
- 令牌桶
- 漏桶
限流思考
- 计算极限QPS,计算平均响应时间
- 前后同步的信号量,调节前后速率
- buf思想,过载时flush到持久化
- 排队理论,算最大并发
定时调度
框架研究
- Quartz分布式调度
定时算法
- 双向有序链表
- 小顶堆(brpc/jdk.Timer实现方式)
- 时间轮(Netty/Quartz实现方式)
- 层级时间轮(Kafka实现方式)
- 红黑树(Nginx实现方式)
C/C++/Algorithm
- 零拷贝
- 红黑树优先级
分布式一致性
brpc
- 各个bthread复用栈(享元)
- m:n 工作模型 对比 actor模型,性能提升
- m:n 任务窃取
- 每个线程写tls,适合的时候写入全局
- 线程信息链表,全局为链表reduce
- eventloop和futex
raft算法
- 选举
- 日志同步
- 日志更新snapshot
- 日志丢弃
- 极端情况
zap算法
TODO
RDMA
- 网卡,越过操作系统,直接操作协议栈
- 建立buff,多种机制确保可用性,分类别处理
- 发送端维护滑动窗口,只有合理的时候才会发送
- 内存池机制(内存指针)
- 注册内存区域,不允许换入换出
Scala/Kotlin/Python/Golang/Erlang
Golang
TODO 高并发IO密集型简单应用,协程能比线程提升多少性能?
Reactive
Vert.x
- 搭建vert.x练习项目
- 开始阅读vert.x源码,试图加入vert.x社区
WebFlux
- 应用webflux到生产项目,练习使用Mono和Flux等技术
Stream
- 四个基本Func接口 function predicate consumer supplier
- 使用元组
AI
TimeSeries
- 基于时间序列LSTM的发送量预测功能
- prophet算法,三个波形的结合
- 咨询天池项目关于用户画像的构建(统计学+AI)
- Tensorflow构建应用
Crawler
scrapy爬取GitHub用户信息,保存到mongo,作为可营销的潜在群体
用户画像
Big Data
Spark
- JobGraph
- Spark程序设计
Flink
- 参加Flink社区活动
- Flink结合RocketMq
- TODO Flink的程序设计和源码阅读
统计学
- 饼图 直方图 频度图 成功失败图
- 通过百分位数 求该天的发送效果百分比排名
- 标准差标准分 判定场景波动幅度
Cloud
- 参加CloudNative活动(K8S)
- 通过kubectl控制k8s集群
- AWS的lambda架构和函数构建
- AWS上构建API应用
- ServiceMesh的架构和前景
AWS
- 多region,最终一致性
- grpc,rest
- dynamodb,水平扩容(更大的数据库)
Lecture
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 wshten@gmail.com
文章标题:2019七月技术研究
本文作者:KevinTen
发布时间:2019-07-30, 00:00:00
最后更新:2019-09-30, 17:34:11
原始链接:http://github.com/kevinten10/2019/07/30/Work/七月技术/版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。