技术栈
Spring 技术栈常用的开源库
- MyBatis、MyBatis Plus: ORM 框架,用于操作数据库。
- JWT:认证框架
- Swagger:接口文档,可以根据代码自动生成接口文档。
- Junit:单元测试
- Redission:用于操作 Redis。
常用的组件
- Git:版本控制,管理代码。
- Maven:项目构建工具,管理项目依赖。
- Gradle
- MySQL:关系型数据库,主要用于数据存储,在使用时要考虑 SQL优化,事务,索引等问题。
- Redis:非关系型数据库,主要用于缓存数据,可以实现分布式锁。在使用时要考虑缓存击穿、雪崩、穿透等问题。
- RabbitMQ: 消息队列,用于处理异步任务,在使用的时候要考虑消息丢失、重复消费等问题。
- Jenkins:持续集成
- Nginx:反向代理服务器,可以用来解决负载均衡、反向代理、解决跨域、配置 SSL 证书等问题。
- Docker:虚拟化容器,可以快速部署应用,提高开发效率。
微服务技术栈
- Nacos:注册中心、配置中心
- OpenFeign:服务调用
- Gateway:网关
- Seata:分布式事务
- Sentinel:降级、限流
- SkyWalking:分布式链路追踪
- Elasticsearch:全文搜 索引擎,主要解决 MySQL 的全文搜索效率低的问题。
- Logstash:日志收集,可以将日志收集到 Elasticsearch 中。
- Kibana:数据可视化,可以将 Elasticsearch 中的数据可视化。
工单
- activiti
Iot
- Modbus RTU 485
- mqtt
- influxDb、tegegraf
- TDengine
- Prometheus、Grafana
- Netty
- vertX
桌面软件
- JavaFX
数据库
- ClickHouse
- SQLite
- MySQL
- InfluxDB
- mongodb
Java 缓存
- 本地缓存
- Guava LocalCache
- EHCache
- Caffeine
- OSCache
- Spring Cache
- 分布式缓存
- Redis
- Memcached
- Tair
四层负载均衡 七层负载均衡
TODO
- Kafka
- Elastic Stack
- Netty
- Zookeeper
- Nacos
- SkyWalking
- Ribbon
- LoadBalance
- Feign OpenFeign
- Sentinel
- Seata
- Sateway
- MySQL
- K8S
- Prometheus
epoll 和零拷贝