分布式基础
分布式基础&环境搭建
电商模式
市面上有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 管理难题。
项目架构图
微服务架构图
微服务划分图
环境搭建
- mysql
- redis
- maven
- jdk8
- idea
- vscode
创建项目微服务
前端
- 安装node.js
- 官网下载安装 node.js, 并使用 node -v 检查版本
- 配置 npm 使用淘宝镜像
npm config set registry http://registry.npm.taobao.org/
- 在vs终端下运行
- npm install 相当于maven install,下载安装所需依赖
- npm run dev,运行