java微服务,学习线路图 + 高清视频
微服务算是目前比较火热的技术,很多公司都在使用,涉及的技术点比较多,这里帮大家整理了一份微服务精品学习线路图,供大家学习参考,可以按顺序学习。
1、Git&GitHub
https://www.bilibili.com/video/BV1pW411A7a5
2、项目构建工具
Maven
https://www.bilibili.com/video/BV1TW411g7hP
Gradle
https://www.bilibili.com/video/av70568380 https://www.w3cschool.cn/gradle/6qo51htq.html https://www.imooc.com/learn/833/
3、MyBatis
Mybatis
https://www.bilibili.com/video/BV1mW411M737
通用 Mapper
https://www.bilibili.com/video/BV1yW411M7m1
4、Spring5
https://www.bilibili.com/video/BV1KW411u7An
5、Spring 注解驱动开发
https://www.bilibili.com/video/BV1gW411W7wy
6、SpringMVC
https://www.bilibili.com/video/BV1mW411M7YA
7、MyBatisPlus
https://www.bilibili.com/video/BV1Ds411E76Y
8、SSM 框架整合
本视频基于 Maven+SpringMVC+Spring+MyBatis+Bootstrap 的组合
https://www.bilibili.com/video/BV17W411g7zP
9、Spring Boot
https://www.bilibili.com/video/BV1gW411W76m
10、Spring Cloud
Spring Cloud 入门到精通
https://www.bilibili.com/video/BV1wW411V7Df
SpringCloud(H 版&alibaba)
https://www.bilibili.com/video/BV18E411x7eT
11、注册中心
注册中心用于服务注册和发现,常用的有下面几种
Nacos
https://www.bilibili.com/video/BV1VJ411X7xX
Zookeeper
https://www.bilibili.com/video/BV1M741137qY
12、配置中心
配置中心用于集中化管理服务中的各种配置参数信息,常用的有下面几种
Apollo
携程开源的一套配置中心
https://www.bilibili.com/video/BV1eE41187s
Nacos
阿里开源的服务注册中心&配置中心
https://www.bilibili.com/video/BV1VJ411X7xX
13、Dubbo
Dubbo 是阿里巴巴开源的,远程服务调用框架
https://www.bilibili.com/video/BV1ns411c7jV
14、缓存技术:Redis
缓存是微服务中经常会用到的,最常用的当属 redis
https://www.bilibili.com/video/av76235738/
15、分布式任务调度
任务调度,简单点理解:就是定时器,常用的 3 种,quartz 通常是单机版的,后面 2 种属于分布式的,可以采用集群的方式部署。
Quartz:常用于单机版
https://www.bilibili.com/video/BV19t41127de
Elastic-Job:分布式任务调度框架
https://www.bilibili.com/video/BV1cE411h7e2
XXL-JOB:分布式任务调度框架
https://www.bilibili.com/video/BV1hi4y1s7D6
16、应用监控 & 调用链追踪
分布式系统,一个请求可能调用很多服务,如果其中有服务出现错误,如何快速发现错误,此时需要一个非常好的分布式服务监控系统,用来快速报警、以及查看整个请求的调用链信息,为开发者快速解决问题提供保障。
SkyWalking
SkyWalking,它是一款优秀的国产 APM(应用性能管理)工具,包括了分布式追踪、性能指标分析、应用和服务依赖分析等。
https://www.bilibili.com/video/BV1ZJ411s7Mn
CAT
CAT 由大众点评开发的,基于 Java 的实时应用监控平台,包括实时应用监控,业务监控。
官网:https://github.com/dianping/cat
视频:https://www.bilibili.com/video/BV1gE411W7B1
17、分布式事务
服务被拆分之后,一个业务操作可能会调用多个服务,此时会涉及到分布式事务
分布式事务专题
https://www.bilibili.com/video/BV1Q4411y7ip
Seata
https://developer.aliyun.com/live/1969
18、分库分表
业务量上去之后,db 数据量会暴增,此时最好的办法是分库分表,常用技术:ShardingSphere 和 MyCat
ShardingSphere
想必做过分库分表的同学对他一定不陌生,其出身来至当当开源项目 sharding-jdbc。非常有限的跨库查询解决方案,目前在京东内部已经广泛使用。sharding-jdbc 创始人张亮已加入京东,sharding-jdbc 还在不停的迭代,目前更名为 sharding-shpere,已经入 Apache *项目,进行孵化,非常看好它。
https://www.bilibili.com/video/av68736927/
MyCat
一个彻底开源的,面向企业应用开发的大数据库集群,支持事务、ACID、可以替代 MySQL 的加强版数据库;一个可以视为 MySQL 集群的企业级数据库,用来替代昂贵的 Oracle 集群;一个融合内存缓存技术、NoSQL 技术、HDFS 大数据的新型 SQL Server;结合传统数据库和新型分布式数据仓库的新一代企业级数据库产品;一个新颖的数据库中间件产品。
https://www.bilibili.com/video/BV1WJ411x7bD
19、消息中间件
Kafka
https://www.bilibili.com/video/av71991051/
RocketMQ
https://www.bilibili.com/video/av66702383/
RabbitMQ
https://www.bilibili.com/video/BV15k4y1k7Ep
ActiveMQ
https://www.bilibili.com/video/BV164411G7aB
20、全文检索
从大量文本内容中检索出需要的结果,需要使用全文检索技术。
Lucene
全文检索框架 https://www.bilibili.com/video/av77895717/
Elasticsearch
目前业界最强分布式全文检索技术,底层使用 Lucene 实现的,比如可以将所有服务的日志汇集起来,使用 elasticsarch 进行检索。
https://www.bilibili.com/video/av66600360/
21、自动化运维
微服务基本上都会用到自动化测试、部署、上线,常用下面 3 种技术。
Jenkins
https://www.bilibili.com/video/BV1GW411w7pn
Docker
https://www.bilibili.com/video/av69121091/
Kubernetes
https://www.bilibili.com/video/BV1w4411y7Go
推荐阅读