列举了一个Java开发常见的一些开发框架、中间件、服务治理相关的技术。
开发框架
- Spring全家桶
- Mybatis、Mybatis-plus
RPC框架
-
dubbo
-
gRPC
http、tcp通讯框架
- Netty
- ApacheHttpClient
- OkHttpClient
- Feign
- RestTemplate
- retrofit-spring-boot-starter
数据库
- MySQL
- Redis:内存数据库
- ElasticSearch:分布式搜索引擎,可以用来实现搜索、日志统计、分析、系统监控等功能
- PostgreSQL
- Oracle
- 分布式数据库:MongoDB、OceanBase、TiDB
分库分表框架
- Sharding-JDBC
- MyCAT
网关
- Spring Cloud Gateway
- Apisix
- Kong
- Traefik
配置中心
- Nacos
- Apollo
微服务治理
- Prometheus
- SkyWalking
- Zipkin
限流熔断
- Hystrix
- Sentinel
日志收集
- ELK、EBK
- Loki
认证
- JWT:JSON Web Token (JWT)是一个开放标准(RFC 7519) ,它定义了一种紧凑和自包含的方式,用于作为 JSON 对象在各方之间安全地传输信息。此信息可以进行验证和信任,因为它是经过数字签名的。JWT 可以使用机密(使用 HMAC 算法)或使用 RSA 或 ECDSA 的公钥/私钥对进行签名。
- Shiro:Apache Shiro是一个强大且易用的Java安全框架,执行身份验证、授权、密码和会话管理
- OAuth2
- Spring Security
消息队列-解耦、削峰、异步
- RocketMQ
- Kafka
- RabbitMQ
加密
- 配置文件加密:jasypt
- 非对称加密:RSA
- 对称加密:DES、AES
- 消息摘要算法:MD5、SHA
运维
- kubernetes
- docker
- Jekins
- Ansible:基于Python开发,集合了众多运维工具(puppet、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能
单元测试
- Junit
- Mockito
- PowerMock