2022年度总结

技术总结

分布式解决方案

1、任务调度(xxl-job)

学习内容:

常见用法 & 源码学习

功能亮点:
  • 支持轮询、分片广播等多种调度策略;【重要】
  • 丰富的触发策略:如cron、固定频率、父子任务等;
  • 数据持久化
技术亮点:
  • 线程池的灵活运用,任务提交和执行解耦;
  • 较为完善的监控,心跳监测等;
  • netty通信

2、消息中间件(RocketMQ)

学习内容:

常见用法 & 源码学习

在这里插入图片描述

技术学习:

(1)Name Server

  • 与zk对比,Name Server设计的节点平等且独立互不通信,更加简单;
  • 路由注册、剔除(定时扫);
  • 读写锁控制并发,由于节点互不通信,节点与节点之间不存在线程不安全问题,仅在节点内部存在。简化问题。

(2)Broker 【核心】

  • 与Name Server:自动与其建立连接
  • 与Producer:消息写入
  • 与Consumer:消息读取和偏移量等的写入
  • Master-Slave模式,主从数据同步,主从切换
  • 消息存储

(3)Producer

  • 本地缓存的使用
  • 消息发送(同步消息、异步消息、单向消息等)
  • netty通信

(4)Consumer

  • 消息的推和拉
  • 偏移量
  • 分组和Tag
  • 顺序消费
扩展调研:

RingBuffer

  • 内存型 VS 中间件 (内存型无法持久化,对数据敏感度不高)
  • 环形结构,节省空间,但会出现读写速率不匹配问题 对照mysql redo log

在这里插入图片描述

3、服务追踪(sleuth)

学习内容:

原理学习

主要内容:

始终携带唯一标识,串联起一次完整的链路

连接池

学习内容:
  • 短连接 or 长连接?
  • 控制线程数 or 控制连接数?(CPU密集型 or IO 密集型?)
  • 连接数紧张的情况下,如何更好的进行分配
  • 常见连接池学习
    1、Hikari
主要内容:
  • 管理数据库连接,支持自定义配置连接参数
  • 池化,负责新建、关闭连接,定时检查连接数 (executor、HouseKeeper)
  • 提高性能,连接复用
  • 单实例的连接数控制
    2、DBCP
主要内容:
  • 基于commons-pool2实现的连接池
  • 对象池机制,KeyedObjectPool (适合管理多租户数据源)
  • 使用jmx进行监控

前端

Vue

学习内容:

基本使用

主要内容:
  • Element UI
  • 多环境配置
  • 常见组件:axios(http请求)、vue-router(路由)、request拦截器

搜索引擎

ElasticSearch

学习内容:

基本使用 & Java Client

主要内容:
  • keyword和text区别;编写组合过滤查询语句等
  • 基本查询、聚合查询、计数查询等
  • 多个Java Client的对比区别
  • ElasticSearchClient使用
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值