- 1、传统架构演进到分布式架构
- 1.1 单点应用:
- 1.2 集群部署:
- 1.3 分布式应用(微服务):
- 2、 微服务核心基础
- 2.1 网关:路由转发+过滤器
- 2.2 服务注册发现
- 2.3 配置中心
- 2.4 链路追踪
- 2.5 负载均衡器
- 2.6 熔断
- 3、 常见的微服务框架
- 3.1 dubbo:zookeeper + dubbo + springmvc / springboot
- 3.2 springcloud:全家桶 + 轻松嵌入第三方组件(Netflix 奈飞)
- 4、 微服务下电商项目基础模块设计
- 4.1 用户服务
- 4.2 商品服务
- 4.3 订单服务
高可用:LVS+keepalived
LVS:Linux Virtual Server的简写,意即 Linux 虚拟服务器,是一个虚拟的服务器集群系统
LVS+keepalived ===> 效率最高的负载均衡
1.1 单点应用:- 开发速度慢
- 启动时间长
- 依赖庞大
优点:
- 易开发,理解,维护
- 独立的部署和启动
不足:
- 分布式系统 ==> 分布式事务问题(例如下订单后积分增加,两个业务在不同的系统,有不同的数据库,就涉及到分布式事务问题。)
- 需要管理多个服务 ==> 服务治理
简介:微服务核心:网关、服务注册发现、配置中心、链路追踪、负载均衡器、熔断
2.1 网关:路由转发+过滤器api/v1/product 商品服务
api/v1/user 用户服务
api/v1/order 订单服务
调用方和被调用方的信息维护
将各个服务的接口都保存在 “注册中心” 中,表示此接口对外开放,即其他服务可以调用。
2.3 配置中心管理配置,动态更新 application.properties
将各个服务的配置文件都保存在 “配置中心” 中,方便更新。
2.4 链路追踪分析调用链路耗时
例:用户下单 ==> 查询商品服务获取商品价格 ==> 查询用户信息 ⇒ 保存数据库
2.5 负载均衡器分发负载
当某个结点的负载压力过大时,会分发到其他节点
2.6 熔断保护自己和被调用方
当 A 服务调用 B 服务时,如果 B 服务挂掉,此时 A 服务在经过多次调用没有响应的情况下,就会发生熔断,A 服务不再调用 B 服务。
3、 常见的微服务框架简介::常见的微服务框架
consumer:调用方
provider:被调用方
一个接口一般都会充当两个角色(不是同时充当)
官网:https://dubbo.apache.org/zh/
配套:
- 通信方式:RPC远程过程调用(Remote Procedure Call)
- 注册中心:zookeeper / redis
- 配置中心:diamond
官网:https://spring.io/projects/spring-cloud
配套:
- 通信方式:http restful
- 注册中心:eureka / consul
- 配置中心:config
- 断路器:hystrix
- 网关:zuul
- 分布式追踪系统:sleuth + zipkin
dubbo 和 springcloud 微服务架构对比
4、 微服务下电商项目基础模块设计简介:微服务下电商项目基础模块设计,分离几个模块
4.1 用户服务- 用户信息接口
- 登录接口
- 商品列表
- 商品详情
- 我的订单
- 下单接口



