跳到主要内容

技术栈

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 缓存

  1. 本地缓存
  • Guava LocalCache
  • EHCache
  • Caffeine
  • OSCache
  • Spring Cache
  1. 分布式缓存
  • Redis
  • Memcached
  • Tair

四层负载均衡 七层负载均衡

TODO

  • Kafka
  • Elastic Stack
  • Netty
  • Zookeeper
  • Nacos
  • SkyWalking
  • Ribbon
  • LoadBalance
  • Feign OpenFeign
  • Sentinel
  • Seata
  • Sateway
  • MySQL
  • K8S
  • Prometheus

epoll 和零拷贝