SpringCloud实战项目全套学习教程连载中

PassJava 学习教程

简介

  • PassJava-Learning项目是PassJava(佳必过)项目的学习教程。对架构、业务、技术要点进行讲解。
  • PassJava 是一款Java面试刷题的开源系统,可以用零碎时间利用小程序查看常见面试题,夯实Java基础。
  • PassJava 项目可以教会你如何搭建SpringBoot项目,Spring Cloud项目
  • 采用流行的技术,如 SpringBoot、MyBatis、Redis、 MySql、 MongoDB、 RabbitMQ、Elasticsearch,采用Docker容器化部署。

更好的阅读体验

  • 文档地址:http://www.jayh.club
  • 备用地址:https://jackson0714.github.io/PassJava-Learning

文档连载目录

  • 打造一款 刷Java 知识的小程序
  • 打造一款 刷Java 知识的小程序(二)
  • 01.五分钟搞懂分布式基础概念
  • 02.快速搭建Linux环境-运维必备
  • 03.配置虚拟机网络
  • 04.安装Docker
  • 05.Docker安装mysql
  • 06.Docker安装redis
  • 07.本地开发环境配置
  • 08.配置Git
  • 09.初始化项目和添加微服务
  • 10.PassJava-微服务划分图
  • 11.初始化数据库和表
  • 12.搭建管理后台
  • 13.自动生成前后端代码
  • 14.整合MyBatis-Plus实现CRUD
  • 15.生成所有微服务的CRUD代码
  • 16.Spring Cloud Alibaba 组件简介

SpringCloud Alibaba 组件简介

1.SpringCloud Alibaba概述

Spring Cloud Alibaba 致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

Github:https://github.com/alibaba/spring-cloud-alibaba

Spring Cloud的几大痛点

  • 部分组件停止维护和更新,有问题也不易解决
  • 部分环境搭建起来比较复杂,没有非常友好的可视化界面
  • 配置相对来说复杂,需要较高的学习成本

Spring Cloud Alibaba的优势

  • 阿里经历过了时间的考验
  • 设计合理
  • 拥有不错的可视化界面,方便运维监控和排查问题
  • 环境搭建和配置简单,学习成本低

PassJava项目搭配SpringCloud Alibaba技术的搭配方案

描述Spring CloudSpring Cloud Alibaba组合选用
服务发现组件Eureka(停止维护)服务发现组件Nacos 注册中心Spring Cloud Alibaba - Nacos
配置中心组件Spring Cloud Config 配置中心Nacos 配置中心Spring Cloud Alibaba - Nacos
断路保护组件Hystrix 断路保护Sentinel 服务容错Spring Cloud Alibaba - Sentinel
链路追踪组件Sleuth 调用链监控/Spring Cloud - Sleuth
负载均衡组件Ribbon/Spring Cloud - Ribbon
远程调用组件OpenFeign (HTTP+JSON)Dubbo(RPC框架)Spring Cloud - OpenFeign
分布式事务/Seata 分布式事务Spring Cloud Alibaba - Seata
API 网关Gateway/Spring Cloud - Gateway

最后技术选型:

Spring Cloud Alibaba - Nacos 实现注册中心Spring Cloud Alibaba - Nacos 实现配置中心Spring Cloud Alibaba - Sentinel  实现服务容错Spring Cloud Alibaba - Seata 实现分布式事务Spring Cloud - Ribbon 实现负载均衡Spring Cloud - Feign 实现远程调用Spring Cloud - Gateway API网关Spring Cloud - Sleuth 实现调用链监控

2.Spring Cloud Alibaba版本

项目的版本号格式为 x.x.x 的形式,其中 x 的数值类型为数字,从 0 开始取值,且不限于 0~9 这个范围。项目处于孵化器阶段时,第一位版本号固定使用 0,即版本号为 0.x.x 的格式。

由于 Spring Boot 1 和 Spring Boot 2 在 Actuator 模块的接口和注解有很大的变更,且 spring-cloud-commons 从 1.x.x 版本升级到 2.0.0 版本也有较大的变更,因此阿里采取跟 SpringBoot 版本号一致的版本:

  • 1.5.x 版本适用于 Spring Boot 1.5.x
  • 2.0.x 版本适用于 Spring Boot 2.0.x
  • 2.1.x 版本适用于 Spring Boot 2.1.x
  • 2.2.x 版本适用于 Spring Boot 2.2.x

Spring Cloud Alibaba 版本和Spring Cloud 和Spring Boot 版本兼容性列表

Spring Cloud 版本Spring Cloud Alibaba 版本Spring Boot 版本
Spring Cloud Hoxton.SR32.2.x.RELEASE2.2.x.RELEASE
Spring Cloud Greenwich2.1.x.RELEASE2.1.x.RELEASE
Spring Cloud Finchley2.0.x.RELEASE2.0.x.RELEASE
Spring Cloud Edgware1.5.x.RELEASE1.5.x.RELEASE

我们采用Spring Cloud Hoxton.SR3, Spring Cloud Alibaba 2.2.0.RELEASE, Spring Boot 2.2.6 RELEASE

PassJava-Common的pom.xml文件引入Spring Cloud Alibaba依赖

<dependencyManagement>    <dependencies>        <!--  Spring Cloud Alibaba 依赖  -->        <dependency>            <groupId>com.alibaba.cloud</groupId>            <artifactId>spring-cloud-alibaba-dependencies</artifactId>            <version>2.2.0.RELEASE</version>            <type>pom</type>            <scope>import</scope>        </dependency>    </dependencies></dependencyManagement>

代码地址

https://github.com/Jackson0714/PassJava-Platform

公众号

©著作权归作者所有:来自51CTO博客作者悟空聊架构的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 徒手开发一个迷你版本的tomcat服务器
  2. [DUBBO] publishProvider interfaceName is empty.
  3. vue之elementui,树形组件el-tree实现左右拖动滚动条
  4. NAO机器人py文件植入
  5. NAO机器人opencv版本问题解决
  6. tomcat启动报错:无法启动组件[StandardEngine[Catalina].Standard
  7. vue组件与路由
  8. springcloud组件zuul报Forwarding error问题的解决
  9. 苹果A10及以后版本芯片KTRR原理及脆弱性分析

随机推荐

  1. 重新认识Java线程的概念
  2. Java transient关键字学习
  3. 用JavaScript实现简单的乘法计算
  4. JNDI学习总结(一)——JNDI数据源的配置
  5. Java 简单解决springmvc获取properties文
  6. JavaScript打印任意奇数行菱形
  7. Java 网络 IO 模型
  8. 解决Eclipse建立Maven项目后无法建立src/
  9. JAVA WEB 实现第三方登录 -- qq篇
  10. 在docker上编译openjdk8