中间件选型
缓存
- ehcache
- memcache
- redis
- Guava Cache https://www.pdai.tech/md/arch/arch-y-cache.html#%E7%BC%93%E5%AD%98%E5%AE%9E%E7%8E%B0-%E6%9C%AC%E5%9C%B0%E7%BC%93%E5%AD%98
解决缓存的预热,并发,穿透,抖动,雪崩,一致性问题,这个需要根据需要来选择,没有推荐
限流
- 限流算法
- Guava RateLimiter
队列
- mq RabbitMq [*]
- mq ActiveMq
- mq ZeroMQ
- mq RocketMQ
- mq redis [X] 准确来说不算 mq
- kafka [*]
负载均衡
- DNS 负载均衡
- IP 负载均衡 ,例如 nginx
- 应用负载均衡如 Euraka,nacos,zookeeper
负载均衡算法有: 轮询,加权轮询,随机,加权随机,hash ,最小负载,一致性 hash
定时任务
- quartz
- elasticjob
- xxljob
分布式事务
- TCC 分布式事务
- 二阶段提交,如阿里的 seata GTS
- 使用队列解决
唯一 Id 生成
- UUID
- snowflake
- redis 预分配
- 数据库+本地缓存 https://blog.csdn.net/likun557/article/details/90231559
分布式锁
- redission 面试被面到如果集群环境中一台挂了怎么办
- zookeeper 面试被问到如何通信
分库分表中间件
- sharding-jdbc (当当)
- TSharding (蘑菇街)
- Atlas (奇虎 360)
- Cobar (阿里)
- MyCat (基于 Cobar)
- Oceanus (58 同城)
- Vitess (谷歌)
全文检索
- lucene
- solr
- ElasticSearch
序列化工具
- Jdk 自带序列化
- kryo 序列化 [*]
- json 序列化
- protostuff
- fst
- protobuf [*]
- hessian
https://blog.csdn.net/qq_39158142/article/details/90676690
session 问题
- jwts [*]
- spring redis session
- tomcat 使用 redis 共享 session
程序开发小玩意
dto bo vo pojo 复制工具
- MapStruct [*]
- Dozer
- JMapper
- ModelMapper
- Orika
- Selma
get&set toString builder resource.close
- Lombok
数据库版本管理工具
- Liquibase [*]
- flyway
开发实用软件
代码对比工具
- WinMerge
- Diffuse
- Beyond Compare [*]
- AptDiff
- Code Compare
- Altova DiffDog 用于文件,目录,数据库模式与表格对比与合并的工具
在线调试工具
- arthas [*]
类编译
- JD-GUI
抓包工具
- tcpadmin
- fidder
- wireshark [*]
接口文档工具
- swagger
- rap2
- showdoc www.showdoc.cc
- apizza https://apizza.net/
- YApi https://yapi.ymfe.org/
- eolinker https://www.eolinker.com/
https://blog.csdn.net/diandianxiyu_geek/article/details/81564132
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。