目录

分布式基础

分布式基础&环境搭建

电商模式

市面上有5种常见的电商模式B2B、B2C、C2B、C2C、O2O

B2B模式

Business to Business,是指商家与商家建立的商业关系。如1688

B2C模式

Business to Consumer,就是我们经常看到的供应商直接把商品卖个用户,即“商对客”模式,也就是通常说的商业零售,直接面向消费者销售产品和服务。如:苏宁易购、京东、天猫、小米商城、唯品会。

C2B模式

Consumer to Business,即消费者对企业。先有消费者需求产生而后有企业生产,即先有消费者提出需求,后有生产企业按需求组织生产。

C2C模式

Consumer to Consumer,客户之间自己把东西放上网去卖,如:淘宝、闲鱼。

O2O模式

Online to Offline,也即将线下商务的机会与互联网结合在一起,让互联网成为线下交易的前台。线上快速支付,线下优质服务。如饿了么、美团、淘票票,京东到家。

分布式基础概念

微服务

将大型单体应用基于业务边界进行服务拆分,各个小服务运行在自己的进程中,使用轻量级机制通信,通常是http api,各个服务独立部署运行。

集群&分布式&节点

分布式是指将不同的业务分布在不同的地方,分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像单个相关系统,例如京东。

集群是指将几台服务器集中在一起,实现同一个业务

分布式中的节点是指一个业务系统,可以做集群;集群中的节点指一台服务器。

远程调用

负载均衡

服务注册/发现&注册中心

配置中心

服务熔断&服务降级

在微服务架构中,微服务之间通过网络进行通信,存在相互依赖,当其中一个服务不可用时,有可能会造成雪崩效应。要防止这样的情况,必须要有容错机制来保护服务。

服务熔断:设置服务的超时,当被调用的服务经常失败到达某个阈值,我们可以开 启断路保护机制,后来的请求不再去调用这个服务。本地直接返回默认 的数据

服务降级:在运维期间,当系统处于高峰期,系统资源紧张,我们可以让非核心业 务降级运行。降级:某些服务不处理,或者简单处理【抛异常、返回 NULL、 调用 Mock 数据、调用 Fallback 处理逻辑】。

API网关

所有前端的请求都先到网关,它抽象了微服务中都需要的公 功能,同时提供了客户端负载均衡,服务自动熔断,灰度发布,统一认证,限流流控,日 志统计等丰富的功能,帮助我们解决很多 API 管理难题。

http://img.cana.space/picStore/20210408075604.png

项目架构图

微服务架构图

http://img.cana.space/picStore/20210408080811.jpg

微服务划分图

http://img.cana.space/picStore/20210408080847.png

环境搭建

  • mysql
  • redis
  • maven
  • jdk8
  • idea
  • vscode

创建项目微服务

前端

  • 安装node.js
    1. 官网下载安装 node.js, 并使用 node -v 检查版本
    2. 配置 npm 使用淘宝镜像 npm config set registry http://registry.npm.taobao.org/
  • 在vs终端下运行
    • npm install 相当于maven install,下载安装所需依赖
    • npm run dev,运行