畅购商城【微服务】基于springboot+springcloud
1 学习路线1 .Dubbo 【服务治理】2分布式文件管理系统 FastDFS
动态扩容 存储海量数据
3 商品增删改查
4 高并发 处理机制
OpenResty对缓存的管理
lua脚本+nginx+redis 整体控制
canal同步工具 实时读取数据库更新情况 将数据发给应用工程【同步工作】
5 使用DSL语句 结合 Kibana 实现 对 Elasticsearch 的 管理
6 点击品牌 点击规格 实现 动态实时检索 Elasticsearch
7 模板引擎 Thymeleaf 实现 前端页面 渲染 操作 生成 静态页
jsp 前后端耦合 每次编译
8 Gateway 鉴权
用户权限控制
JWT 传递封装 用户授权信息
9 第三方授权认证
10 页面权限 微服务 权限 认证
N个服务 拆分 各个细小独立工程
权限校验
11 结账 · 修改库存 修改积分 下单 操作
调用不同微服务
12 支付13 分布式解决方案 阿里
14 数据库不崩溃 x
用缓存 √ 大量并发 秒杀 redis 单线程
15 雪崩 队列机制 有序 消费 用户请求
队列判断 商品 数量
16 集群 高可用
2 学习目标
PageHelper 目前 各大主流 数据库 都可分页 PB=1024TB 级别 分布式存储 Es搜索引擎 百万 并发 子站点tomcat一个---500 ------集群 (负载均衡 高可用)业务 购物车---下订单----减库存---异常----回滚----分布式事务扫码支付----第三方发货------第三方收货-----第三方退货----退款----第三方----证书======邮费====商家买单盈亏报表统计
分类 跳转 搜索 数据
关键字 筛选 分类 动态显示 条件 品牌 规格 搜索数据
ES搜索引擎
静态页 数据变化频率低 访问量 高 提升 网站 抗并发能力
B2C电商模式,运营商将自己的产品发布到网站上,会员注册后,在网站上将商品添加到购物车,并且下单,完成线上支付,用户还可以参与秒杀抢购。** 后端java工程师:**设计模式,spring+springmvc,linux,mysql事务隔离与锁机制,mongodb,http/tcp,多线程,分布式架构,弹性计算架构,微服务架构,java性能优化,以及相关的项目管理等等。** 前端工程师:**html5,css3,vuejs,webpack,nodejs,Google V8引擎,javascript多线程,模块化,面向切面编程,设计模式,浏览器兼容性,性能优化等等。
Nodejs 使js可以在 后台运行 数据采集 分析 操作
Lua 插件 脚本 缓存 更新操作Oauth 权限操作JWT 令牌 封装用户 授权信息 AMQP 通信协议 异步数据通信 高级消息队列 通信协议 主从复制 读写分离
springboot 开发nginx 负载均衡 5w并发 VIP 虚拟ip keepalived 虚拟路由器 解决 nginx单点故障
nginx限流 ip限流 访问 速率限流 自带缓存 用户缓存---提高服务抗压能力 ---对后台程序 不造成 过多压力整合 openResty 处理 10k-1000k并发 微服务网关 作用 实现 用户请求 路由到 不同微服务 【用服务器发布起来】tomcat限流 给微服务提供保障 防止 对 微服务 造成压力鉴权 用户 是否有权 访问 微服务 【也可在网关外 打造微服务】
controller services dao mysql 都是独立的 feign 微服务之间 相互调用 实现 Ribbon 负载均衡 的 控制 默认配置【轮询】 权重 随机 响应速度 分布式事务 抽取 依赖 实现 组件式 灵活微服务 鉴权 Oauth2.0canal 数据同步监听
微服务 文件 监听 消息组件
Eureka 闭源
配置统一管理远程仓库
docker 容器 安装 mysql RabbitMQ ES Kibana canal 处理 数据
ER 图
表之间 无 关联关系 反三范式 大型项目表的 设计 要有 原则性 表之间 数据完整性(依赖)——增删改查 变慢 不要创建 外键(不用检查 依赖)外键关联 ———— 表 数据冗余操作( 数据 重叠 eg:把分类名 写道 商品表中)
7项目结构授权认证 ----登陆common 工具工程 ----工具类 eg:时间转换common数据库连接操作依赖包Eureka 注册中心