电商项目——初识电商——第一章——上篇
电商项目——分布式基础概念和电商项目微服务架构图,划分图的详解——第二章——上篇
电商项目——电商项目的虚拟机环境搭建_VirtualBox,Vagrant——第三章——上篇
电商项目——Linux虚拟机中安装docker,mysql,redis_VirtualBox——第四章——上篇
电商项目——电商项目的环境搭建_开发工具&环境搭建——第五章——上篇
电商项目——快速开发人人开源搭建后台管理系统&代码生成器逆向工程搭建——第六章——上篇
电商项目——分布式组件(SpringCloud Alibaba,SpringCloud)——第七章——上篇
电商项目——前端基础——第八章——上篇
电商项目——商品服务-API-三级分类——第九章——上篇
电商项目——商品服务-API-品牌管理——第十章——上篇
电商项目——商品服务-API-属性分组——第十一章——上篇
电商项目——商品服务-API-品牌管理——第十二章——上篇
电商项目——商品服务-API-平台属性——第十三章——上篇
电商项目——商品服务-API-新增商品——第十四章——上篇
电商项目——商品服务-API-商品管理——第十五章——上篇
电商项目——商品服务-API-仓库管理——第十六章——上篇
文章目录
讲述前六章的内容以后,有了一定的积淀,我们就可以开始搭建分布式系统的基本环境
1:前言
在分布式开发中,我们要先知道微服务-注册中心,配置中心,网关三个概念
- 注册中心: 在分布式开发里面,我们有各个微服务,我们都应该将他们注册到注册中心,这样做的好处是,如果订单服务调用商品服务,那么我们可以去注册中心看一下那些商品服务被注册进来了,订单服务可以随便挑一个商品服务进行远程调用(大白话解释)
- 配置中心:各个微服务的配置众多,比如商品微服务在10台机器上,我们想要改某一个商品的配置,都要改就很麻烦,我们希望有一个配置中心来集中管理配置,所有商品服务从配置中心获取配置,配置中心改掉一个配置,商品服务就可以实时修改(大白话解释)
- 网关:所有前端请求通过网关(匹配,过滤),抵达其他服务(大白话解释)
2:SpringCloud Alibaba简介
-
Spring Cloud Alibaba致力于提供微服务开发的一站式解决方案。此项目包含开发分布式应用
微服务的必需组件,方便开发者通过Spring Cloud 编程横型轻松使用这些组件来开发分布
式应用服务。 -
依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将Spring Cloud应用。接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。
https://github.com/alibaba/spring-cloud-alibaba -
SpringCloud 的几大痛点
SpringCloud 部分组件停止维护和更新。给开发者来不便;
SpringCloud部扮环境搭建复杂,没有完善的可视化界面,我们需要大量的二次开发和定制
SpringCloud配置复杂。难以上手,部分配置差别难以区分和合理应用
- SpringCloud Alibaba 的优势,
阿里使用过的组件经历了考验,性能强悍,设计合理,现在开源出来大家用
成套的产品搭配完善的可视化界面给开发运维蒂来极大的便利
搭建简单,学习曲线低
- 结合SpringCloud Alibaba我们最终的技术搭配方案;
SpringCloud Allbaba-Nacos:注册中心(服务发现/注册)
SpringCloud Alibaba- Nacos.配置中心(动态配置管理)
SpringCloud-Ribbon:负载均衡
SpringCloud- Feign.声明式HTP客户端(调用远程服务)
SpringCloud Alibaba- Sentinel:服务容错(限流、降级、熔断)
SpringCloud- Gateway. API网关(webflux编程模式)
Springcloud-Sleuth:调用链监控
SpringCloud Alibaba-Seata:原Fescar,即分布式事务解决方案
2.1 如何整合alibaba进入到我们的项目
第一步:注意版本
第二步:在mall-common中引入如下依赖
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
3:SpringCloud Alibaba-Nacos注册中心-简单示例
我们先了解一下Spring Cloud应用如何接入Nacos Discovery
3.1 第一步:修改pom.xml文件,引入Nacos Discovery Starter
在mall-common中引入如下的配置
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId