一、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