Java项目常用技术栈整理

一、WEB开发体系

1、编译器 JDK8  或JDK17

2、代码管理:  git。   代码托管 :gitlab, 公司推荐自行搭建, 个人项目托管oschina(github)

3、依赖管理:  maven( gradle), maven库托管nexus、 公司推荐自行搭建

4、项目骨架: 推荐自行抽象框架  借助mvn archetype:create-from-project生成项目骨架

5、项目框架:  springboot2.x , 玩技术的可以升级springboot3.x

6、 关系数据库:  mysql,   集成mybatis、 采用mybatis-plus 或mybatis-generator 。如果数据量大,一开始可以选型 oceanbase 或TIDB

7、非关系文档数据库:mongo,     集成springframework.data封装通用操作类

8、缓存:redis,   a、自行在Jedis基础上封装JedisClient, b、spring redis集成的RedisTemplate 、 lettuce  ,    c、Redission。涉及到高并发场景,可以用Redission。

9、微服务框架:   springcloud alibaba  ,  dubbo

10、配置中心:推荐nacos、 apollo

11、注册中心:nacos、 zookeeper备选

12、API网关:   spring cloud gateway如果使用springcloud体系推荐用)、apache-apisix 、 kong(lua语言)

13、限流熔断:sentinel 、 hystrix

14、分布式事务:seata、 消息中间件最终一致性

15、分布式跟踪:skywalking、zipkin

16、分布式任务:xxl-job、 elastic-job

17、分库分表 :ShardingSpare,其实能用数据库解决的就不要用分库分表,看看 oceanbase 或TIDB,推荐TIDB

18、文档:knife4j,  前身其实是swagger2

19、常用工具包用  hutool

20、 权限认证   Sa-Token

21、 ip定位  ip2region

22、 支付  IJPay

23、短信  sms4j

24、工作流  flowable

二、大数据体系(CDH)

1、文件系统  hdfs

2、离线运算   hive + impla

3、实时计算:flink

4、实时OLAP :    druid   + superset、 es  

5、消息中间件:kafka

6、数据采集:flume /  kettle /  datax /  cannal

7、存储 hbase   、kudu

8、数据分析数据库, 推荐  doris 或 clickhouse

一般数据分析业务个人推荐  mysql -->  cannal  >  kafka   >  flink   -> doris 

三、运维体系

1、集成部署  gitlab + jenkins 

2、监控:Prometheus + Grafana + Alertmanager 

3、容器化:  docker

4、 让容器管理更轻松:k8s

5、service mesh技术:lstio

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值