2022 Java开发入门学习路线(六)分布式与微服务
2022 Java开发入门学习路线(三)搭建Java Web
2022 Java开发入门学习路线(五)Spring+Spring MVC+Spring Boot
阶段五:分布式与微服务
Spring Cloud
Spring Cloud 是一套完整的微服务解决方案,基于 Spring Boot 框架,准确的说,它不是一个框架,而是一个大的容器,它将市面上较好的微服务框架集成进来,从而简化了开发者的代码量。对于中小企业来说,这是一套非常好的解决方案。
入门和学习Spring Cloud的话,我们主要要学习Spring Cloud的常用模块,包括服务注册与发现Eureka、配置中心、链路追踪、异常处理等。
官网文档:https://www.springcloud.cc/
1. 服务发现与API网关:http://www.imooc.com/learn/1134
本课程先介绍了微服务架构SpringCloud各个组件的应用场景,其次挖掘业界内各个组件的使用情况,然后介绍组件的架构及实现原理,最后通过简单的实例来熟悉该组件,为分析源码或者定制组件提供了基础。
通过该课程的学习,我们可以了解到分布式架构的前世今生、SpringCloud微服务框架和Dubbo的区别以及SpringCloud微服务架构相关技术。重点在API网关(应用场景+业界使用情况+实战与原理分析)和服务发现(应用场景+业界使用情况+实战与选型,涵盖:EUREKA,ZooKeeper,CONSUL,ETCD)。
2. 配置中心:http://www.imooc.com/learn/1135
本课程包含微服务配置中心的基本概念,SpringCloud开发步骤和前后端分离的编程方式,并且通过案例入手讲解如何开发一个"零配置"的配置中心。通过该课程,我们可以学到微服务配置中心的核心概念 、SpringCloud,Jquery和Vue的配合使用以及配置中心开发实践。
3. Hystrix
Hystrix 是针对与分布式系统中所产生的延迟问题和容错问题的一种解决方案,也就是说,Hystrix 就是为了解决在分布式系统中出现的系统间延迟问题,以及服务间容错问题所诞生的一款微服务组件。
它配置简单,容易上手,且功能强大、持久稳定,Hystrix 其实就是为了解决在分布式系统中出现的延迟问题、服务间问题而来的一款微服务组件,其依赖于 Spring Cloud 框架,通过提供一系列保障措施,来保证我们的分布式系统可以安全平稳的运行。
Hystrix教程:http://www.imooc.com/wiki/hystrixlesson
通过该教程掌握Hystrix的内容,并且结合实际业务场景实战来进一步学习。
分布式与容器化
1. Dubbo
Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了三大核心能力:
- 面向接口的远程方法调用;
- 智能容错和负载均衡;
- 服务自动注册和发现。
官方文档:https://dubbo.apache.org/zh/overview/
2. ZooKeeper
在分布式环境中,存在着大量的服务,服务与服务之间难以做到彼此协调,也不便于开发人员对服务进行维护管理,而 Zookeeper 使用它简单的结构和 API ,协调服务与服务之间的关系,让开发人员专注于应用程序的核心业务逻辑,更方便的对应用程序的服务进行管理维护。所以我们可以把 Zookeeper 叫做分布式协调服务。
ZooKeeper教程:http://www.imooc.com/wiki/Zookeeper
在 Zookeeper 的教程中,学习路线从 Zookeeper 的基础知识入门,到简单使用 Zookeeper ,再到 Zookeeper 的实现原理,最后使用 Zookeeper 进行应用实战,一步一步从入门到 Zookeeper 应用高手。
- Zookeeper 基础入门:包括 Zookeeper 的数据模型,Zookeeper 安装及部署,以及两种 Zookeeper 的 Java 客户端的初步使用,有了扎实的基础我们才能深入学习它的实现原理;
- Zookeeper 实现原理:包括 Zookeeper 通信原理,Zookeeper 监听机制,Zookeeper ACL,Zookeeper 序列化方式,Zookeeper ZAB 协议。其中重点是 Zookeeper ZAB 协议,包括两种运行模式:崩溃恢复模式和消息广播模式。了解了 Zookeeper 的实现原理,我们才能更好的来使用 Zookeeper;
- Zookeeper 应用实战:在 Zookeeper 实战内容中,我们使用 Zookeeper 实现了分布式锁、分布式 ID、负载均衡、配置中心、集群管理等,学习了如何使用了高效的部署方式 —— Docker 来构建我们的 Zookeeper 集群,以及如何对 Zookeeper 的 Java 进程和运行状态进行监控,最后我们还学习了在 Kafka 和 Dubbo 两大框架中是如何使用 Zookeeper 的。
3. 消息队列RabbitMQ
RabbitMQ 是一种消息通信方式,采用消息队列的形式,来将消息进行传递与发送,RabbitMQ 在通过消息队列传递消息时,可以保证消息的高可用性、消息中数据的安全性。也就是说,RabbitMQ 是一种高可用且数据安全的消息通信中间件。
RabbitMQ 入门教程:http://www.imooc.com/wiki/rabbitmqlesson
通过本教程,我们将学习RabbitMQ 基础、RabbitMQ 基础特性与进阶、RabbitMQ 整合 Spring 生态链、RabbitMQ 集群基础以及RabbitMQ 实战。
RabbitMQ消息中间件极速入门与实战:http://www.imooc.com/learn/1042
本课程主要带大家快速入门RabbitMQ消息中间件基础,会带着小伙伴快速搭建环境,并进行核心基础的学习,之后整合springboot2.x,最后做一个在真正生产环境中的高可靠性投递消息的实战案例(代码详解)。
4. Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 系统或 Windows 系统上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker入门:http://www.imooc.com/learn/867
本课程从最基础的安装开始,通过大量的实际操作循序渐进地介绍Docker基本知识,包括什么是docker、什么是docker镜像、什么是容器。从这些开始,学习Dockerfile编写,容器操作,到完成一个多容器的应用。
最后
掌握了以上所有的课程、教程内容后,你就已经在Java宇宙里踏出了关键一步,朝着一名优秀的Java开发工程师前进。后端要学习的内容依然还有很多,日拱一卒,每天进步一点点。
共同学习,写下你的评论
评论加载中...
作者其他优质文章