微服务算是目前比较火热的技术,很多公司都在使用,涉及的技术点比较多,这里帮大家整理了一份微服务精品学习线路图,供大家学习参考,可以按顺序学习。
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
相关推荐
通过以上对Java架构体系学习线路图的详细解读,我们不难看出,要想成为一名合格的Java开发者,不仅要掌握Java语言本身,还需要具备广泛的工具使用能力、分布式和微服务架构设计能力以及系统性能优化的能力。...
Java架构师的学习路径是复杂而全面的,涵盖了多个核心领域,旨在提升开发人员的技术深度和广度,以解决复杂的系统设计和优化问题。以下是对标题和描述中提及的知识点的详细说明: 1. **Java多线程并发**:在Java中...
Java学习之路是一个全面而深入的过程,它涵盖了编程基础、面向对象编程、集合框架、多线程、网络编程、I/O流、数据库操作、异常处理、反射机制、JVM优化、Swing图形界面、Web开发、Java EE企业级应用、框架技术(如...
4. **ServiceComb 最新线路图**:ServiceComb 不断演进,计划进一步加强边缘服务、系统度量、分布式追踪等功能,并持续优化性能和稳定性。Saga 是解决微服务事务最终一致性问题的解决方案,通过一个集中式的事务协调...
智能公交管理平台是一种高效的城市交通管理...开发者可以通过阅读源码了解系统的具体实现,学习如何利用Java进行大型项目的开发。此外,对于熟悉Java的开发者,可以根据需要修改或扩展代码,以适应特定的公交管理需求。
Vue.js则因其轻量级、易学习和高效的前端框架特性,适合用于构建用户界面。结合两者,可以构建出响应式、实时更新的公共交通查询系统,满足现代城市的需求。 1.2 研究现状 当前,公共交通查询系统已有一些成熟的...
本文将深入探讨一个基于SpringBoot框架开发的公交线路查询系统,同时涉及Java、SSM(Spring、SpringMVC、MyBatis)和JSP等技术栈的应用。我们将从系统架构、核心功能、关键技术以及数据库设计四个方面进行详述。 一...
Spring Boot是Java开发中的一个微服务框架,由Pivotal团队提供,旨在简化Spring应用的初始搭建以及开发过程。它集成了大量的Spring生态系统的特性,如Spring MVC、Spring Data、Spring Security等,并内置了Tomcat...
3. **推荐算法**:根据用户的历史浏览记录、偏好等信息,运用推荐算法(如协同过滤、内容过滤或深度学习模型)生成个性化旅游线路。 4. **搜索与筛选**:允许用户根据关键词、城市、价格等因素进行景点和线路搜索与...
该压缩包包含的是一个基于SpringBoot框架开发的旅游景点线路酒店预定网站的毕业设计源码。这个项目旨在提供一个综合的在线预订系统,允许用户轻松查找、比较和预订旅游景点门票、线路以及酒店住宿。SpringBoot是Java...
其源码和数据库文档对于学习Java Web开发、前端框架应用以及大数据推荐算法有极高的参考价值。通过深入研究,开发者不仅可以掌握相关技术,还能了解到如何将这些技术应用于实际项目,提升解决问题的能力。
一个微服务的超时失败可能导致瀑布式连锁反映,下图中,Hystrix通过自主反馈实现的断路器, 防止了这种情况发生。 hystrix 2 图中的服务B因为某些原因失败,变得不可用,所有对服务B的调用都会超时。当对B的调用...
在本项目中,微信小程序将作为用户交互的前端界面,展示南京的旅游景点信息、线路推荐、在线预订等功能。开发者需要熟悉微信开发者工具和小程序的开发语言WXML(结构层)和WXSS(样式层),以及JavaScript的微信API...
### 基于Spring Boot的公交线路查询系统设计与实现 #### 一、项目背景及意义 随着社会的快速发展和技术的进步,人们对于信息获取的需求变得越来越迫切,特别是公共交通信息的实时性和准确性对于城市居民的出行至关...
这个系统利用JavaServer Pages(JSP)技术进行开发,结合数据库管理,实现用户浏览、选择和预订旅游线路的功能。 【描述】: 这个系统的开发涉及到多个技术栈,包括前端界面设计、后端业务逻辑处理以及数据库管理。...
1. 数据采集模块:这一模块主要负责收集来自各种传感器(如无人机、红外热像仪、无人机搭载的高清摄像头)的数据,包括线路状态、环境参数(如温度、湿度、风速)、异常情况等。Java的I/O流和网络编程库可以实现对...
根据提供的信息,我们可以推断出该文章主要关注的是“软件开发者的路线”,即关于软件开发者在职业道路上应学习的关键技术和概念。尽管具体内容部分主要是博客链接的重复,我们仍可以根据标题和描述来构建与软件开发...
SpringBoot是Java领域的一个热门微服务框架,它简化了Spring应用的初始搭建以及开发过程。通过内置的Tomcat服务器和自动配置功能,SpringBoot能快速构建可运行的独立应用。在公交路线查询系统中,SpringBoot用于后端...
总的来说,XXX智慧校园建设项目将通过深度整合信息技术与教育教学,打造一个数字化、网络化、智能化的校园新生态,为师生提供一个全方位、多层次、个性化的学习与生活环境,推动教育现代化进程。