微服务架构下的工程存在多个独立部署的微服务,这些微服务之间不可避免的会存在功能依赖,所以,我们需要学习微服务间的通信机制。企业级中最流行的通信方案是 OpenFeign,它是基于 Ribbon 实现的,且最底层都是依赖 RestTemplate,我会在这一章讲解它们的前世今生。
实现业务端客户基本功能:登陆、退出系统和个人信息页面。使用SpringCache技术缓存商品详情信息,加快前端页面渲染速度。利用微信支付3.0接口,实现订单的创建与支付。使用内网穿透被动接收付款结果与主动发起请求查询付款结果相结合,保障支付的一致性。利用快照技术抓取订单商品信息,避免商品信息被篡改。
- 10-1 调用微信支付3.0接口创建付款单
- 10-2 后端发送模拟短信验证码
- 10-3 前端TS实现发送验证码短信
- 10-4 后端实现客户注册与登录RESTful接口
- 10-5 前端TS实现客户注册与登陆
- 10-6 销毁Token令牌实现退出系统
- 10-7 后端实现摘要信息RESTful接口
- 10-8 前端TS加载客户摘要信息
- 10-9 后端实现修改客户资料RESTful接口
- 10-10 前端TS实现修改客户资料
- 10-11 后端实现推荐体检套餐RESTful接口
- 10-12 前端TS实现加载推荐体检套餐
- 10-13 后端实现分页查询商品RESTful接口
- 10-14 前端Infinite Scroll加载分页数据
- 10-15 前端TS实现复合条件查询分页记录
- 10-16 优化前端Infinite Scroll效果
- 10-17 前端实现父子页面Keyword查询商品
- 10-18 微信支付3.0的资质和Java依赖库
- 10-19 调用微信支付3.0接口创建付款单
- 10-20 入门QLExpress规则引擎
- 10-21 用QLExpress计算付款金额
- 10-22 利用MongoDB存储商品快照
- 10-23 限定特殊客户下单购买体检套餐
- 10-24 获取促销规则,用规则引擎计算金额
- 10-25 创建微信支付单与付款失效Cache
- 10-26 创建购物订单和Snapshot快照
- 10-27 后端利用内网穿透接收付款结果
- 10-28 前端TS实现下单购买体检套餐
- 10-29 后端使用WebSocket推送付款结果
- 10-30 前端接收WebSocket推送付款结果
- 10-31 后端实现查询付款结果的RESTful接口
- 10-32 付款成功之后,前端主动查询付款结果
- 10-33 后端实现查询订单列表RESTful接口
- 10-34 前端TS加载订单分页列表
- 10-35 后端实现申请退款的RESTful接口
- 10-36 前端发起全额退款申请
- 10-37 后端利用内网穿透接收退款结果
- 10-38 本章总结
学习高效 NestJS 微服务通信,使用 gRPC 实现双端通信,掌握 proto 转 TypeScript 方案、SSL 配置、服务测试与工程化,完成核心业务拆分与微服务模板项目创建,并借助 gRPC 工具生成代码
- 31-1 使用gRPC进行微服务通信(2种proto转ts的方案)
- 31-2 gRPC微服务进阶:配置SSL证书
- 31-3 测试gRPC服务第二种方案:grpcurl(go环境配置)
- 31-4 测试gRPC服务第三种方案(grpc-tools+ts-proto)
- 31-5 微服务工程化:共享grpc的proto与certs
- 31-6 核心业务拆分分析
- 31-7 微服务模板项目创建+配置vscode插件
- 31-8 [插件推荐]定义user.proto并测试服务
- 31-9 [扩展]对于空值的处理&VSCode插件bug
- 31-10 用户微服务:完成数据库对接与服务测试
- 31-11 网关微服务:登录接口&服务调用测试
- 31-12 [代码生成器]借助grpc-tools产生nestjs双端代码
- 31-13 微服务拆分总结
学会基本的命令行操作以后,要继续学习如何在项目中实用。本章将带领大家利用RabbitMQ的几种Exchange,完成项目开发。掌握巩固RabbitMQ基本的客户端使用。并且在讲解过程中,讲授多个开发小技巧
本章为大家讲解WebRTC信令服务器实现,WebRTC规范本身不包括服务器部分,但要想实现正的互通,又必须要有信令服务器。通过本章的讲解你将了解到如何实现一个最简单的信令服务器,以配合我们最终实现 1V1实时音视频互动直播系统。
本章讲解微服务的核心概念,高可用与软件架构相关知识点,BFF和网关以及微服务的划分原则和具体方法和可用性设计。
学习 NestJS 中的微服务治理,解析服务注册中心 Consul 的核心作用,掌握容器化创建 Consul 服务、微服务注册与健康检查、gRPC 服务连接,以及 RxJS 优化 gRPC 客户端的高可用性实现
- 32-1 [小结]微服务改造monorepo需要注意的几点
- 32-2 常见的5种注册中心技术方案
- 32-3 容器化方式快速创建consul服务
- 32-4 使用Consul实现NestJS微服务注册与健康检查
- 32-5 NestJS与Consul配置并连接gRPC服务
- 32-6 微服务项目monorepo改造,加入版本控制
- 32-7 优化微服务共享项目:ts-proto与自定义工具的封装指南
- 32-8 [小结]微服务改造monorepo需要注意的几点
- 32-9 consul与健康检查:获取健康实例逻辑分析
- 32-10 高效微服务:定时器驱动的Consul健康检查与gRPC Client管理
- 32-11 高可用实践:优化测试动态grpc客户端切换
- 32-12 高可用实践:使用RxJS优化gRPC客户端更新机制
- 32-13 高可用实践:nestjs拦截器处理微服务异常+重试请求
- 32-14 边界异常处理:定时重试请求健康的服务
微服务已然成为大厂主流,作为简历上的亮点和加分项,让小伙伴们掌握作为后端开发者需要掌握的微服务的核心知识,体现我们作为后端开发的额外价值。
- 15-1 微服务的优缺点分别是什么?
- 15-2 微服务的优缺点分别是什么?
- 15-3 SOA和微服务架构有什么区别?
- 15-4 如何确定微服务架构的拆分粒度?
- 15-5 微服务有哪些设计原则?
- 15-6 微服务化过程中有哪些注意点?
- 15-7 微服务治理的手段有哪些?
- 15-8 微服务的容错设计
- 15-9 限流有哪些实现方式?
- 15-10 如何对整个调用链做超时控制?
- 15-11 Prometheus的四种指标类型
- 15-12 Docker的底层原理
- 15-13 Docker 与 LXC有何不同?
- 15-14 Docker Image 和 Docker Layer (层) 有什么不同?
- 15-15 简述 K8s 的优势、使⽤场景及其特点?
- 15-16 简述 K8s 创建⼀个 Pod 的主要流程?
- 15-17 K8s中pod的状态有哪些?怎么查看?
- 15-18 K8s中什么是静态 Pod?
- 15-19 简述 K8s中 Pod 的健康检查⽅式?
订单微服务是电商工程的核心微服务,这其中会引入微服务通信、微服务容错、消息驱动与分布式事务,它会将电商工程中所有的微服务都串联在一起,共同完成用户的下单操作。所以,在实现这个微服务时,要认真考虑这里面要解决的问题,以及使用到的技术、工具和组件。
工欲善其事,必先利其器。本章节会介绍课程的主要脉络,方便大家提前构建知识体系。同时考虑到部分同学可能第一次接触微服务,所以会介绍微服务的基础知识,我们不放弃任何一个努力进步的同学
开通即时通讯IM服务,安装TUIKIT界面库,把客服IM嵌入Web页面。支持文字、图片、表情等消息内容,IM对话内容云端存储。
- 13-1 利用ElementPlus设计IM模块信息区
- 13-2 自行研发IM即时通讯是否可行?
- 13-3 后端项目整合IM依赖库
- 13-4 前端项目整合IM依赖库
- 13-5 后端生成客户IM数字签名
- 13-6 后端向IM账号Friend列表添加客服账号
- 13-7 后端向客户IM账号发送欢迎词
- 13-8 前端TUIKit登陆客户IM账号
- 13-9 前端使用TUIKit组件实现IM界面
- 13-10 后端生成MIS用户IM账号数字签名
- 13-11 前端TS登陆MIS用户IM账号
- 13-12 后端实现查询IM客户摘要信息
- 13-13 后端实现查询IM客户订单分页记录
- 13-14 利用ElementPlus设计IM模块信息区
- 13-15 前端TS实现IM模块信息区显示业务数据
- 13-16 本章总结
本章深入讲解小程序开发的核心技术与实现方法,通过与UI桌面应用开发的对比,帮助开发者理解两者在设计和功能实现上的关键差异。以多语种鞋品跨境电商客服系统、行业分析专家等为典型案例,系统阐述了知识库精准控制、多语言对话实现、小程序发布全流程、信息检索解决方案、平台限制规避策略以及组件显隐控制等关键技术要点。让开发者全面掌握小程序开发的精髓与实用技巧。
微信支付我们经常使用,但我们了解微信支付的整个流程吗?本小节,我们将详细介绍微信支付的整个流程并编写产品的下单、支付与处理支付结果的相关接口。
- 10-1 可以断点调试微信支付的回调吗?
- 10-2 前置方法
- 10-3 对Address接口做权限控制
- 10-4 下单与支付的业务流程(库存量检测)
- 10-5 下单与支付详细流程
- 10-6 重构权限控制前置方法
- 10-7 编写一个复杂的验证器
- 10-8 下单接口业务模型 一
- 10-9 下单接口业务模型 二
- 10-10 订单快照
- 10-11 订单快照的实现
- 10-12 订单创建
- 10-13 一对多关系的新增操作
- 10-14 测试订单接口
- 10-15 TP5自动写入时间戳
- 10-16 在TP5中使用事务
- 10-17 关于微信支付
- 10-18 支付的服务器端编写 一
- 10-19 支付的服务器端编写 二
- 10-20 支付的服务器端编写 三
- 10-21 支付的服务器端编写 四
- 10-22 支付的服务器端编写 五
- 10-23 支付的服务器端编写 六
- 10-24 支付的服务器端编写 七
- 10-25 支付的小程序端讲解(含签名的作用讲解) 八
- 10-26 支付的服务器端编写 九
- 10-27 统一测试订单与支付接口 十
- 10-28 支付的服务器端编写(支付结果回调机制) 十一
- 10-29 支付回调通知处理 一
- 10-30 支付回调通知处理 二
- 10-31 事务与锁防止多次减库存
- 10-32 接收微信回调
- 10-33 测试支付全流程
- 10-34 可以断点调试微信支付的回调吗?
- 10-35 TP5中的分页查询与获取用户历史订单数据
- 10-36 测试与验证历史订单数据接口
- 10-37 订单详情接口
本章从 Oauth2.0 获取 openid,到完整的微信支付流程,带同学全面了解如何接入第三方支付系统。
- 14-1 面试重点:关于 Https 你要知道这些
- 14-2 通过微信授权获取 openid (中)
- 14-3 通过微信授权获取 openid (下)
- 14-4 讲解微信支付的原理
- 14-5 编写微信支付完整代码(1)
- 14-6 编写微信支付完整代码(2)
- 14-7 编写微信支付完整代码(3)
- 14-8 统一处理接口报错
- 14-9 获取微信支付结果通知
- 14-10 创建微信支付订单信息(上)
- 14-11 创建微信支付订单信息(中)
- 14-12 创建微信支付订单信息(下)
- 14-13 【阶段练练练】添加商品限购的逻辑
- 14-14 面试重点:关于 Https 你要知道这些
- 14-15 本章小结:模拟微信支付
代驾项目理应从司机子系统开始做起。新司机注册的过程中需要实名认证,我们利用OCR插件,快速扫描和提取身份证与驾驶证的信息,然后利用面部识别技术,采集司机的面部信息,为后续每天接单前的身份核验做准备。本章除了开发移动端之外,还要实现Web端的司机管理模块,可以对司机实名认证加以审核。
- 3-1 利用腾讯云SDK,封装云端文件存储服务
- 3-2 项目技术栈分析
- 3-3 运行华夏代驾初始化项目
- 3-4 司机微服务的用户注册功能--MySQL集群+JWT(一)
- 3-5 司机微服务的用户注册功能--MySQL集群+JWT(二)
- 3-6 司机微服务的用户注册功能--MySQL集群+JWT(三)
- 3-7 小程序获取用户微信简介,实现司机注册
- 3-8 利用腾讯云SDK,封装云端文件存储服务
- 3-9 司机实名认证,OCR识别证件信息(一)
- 3-10 司机实名认证,OCR识别证件信息(二)
- 3-11 司机实名认证,OCR识别证件信息(三)
- 3-12 司机实名认证,数据持久化
- 3-13 司机实名认证,提交认证信息(一)
- 3-14 司机实名认证,提交认证信息(二)
- 3-15 开通活体检测,甄别真实注册司机(一)
- 3-16 开通活体检测,甄别真实注册司机(二)
- 3-17 司机微服务封装登陆过程--JWT+OpenId(一)
- 3-18 司机微服务封装登陆过程--JWT+OpenId(二)
- 3-19 司机微服务中查询司机个人汇总信息
- 3-20 移动端展示司机个人汇总信息
- 3-21 司机微服务中查询首页信息(一)
- 3-22 司机微服务中查询首页信息(二)
- 3-23 移动端展示司机首页信息汇总
- 3-24 司机微服务查询司机分页记录
- 3-25 Web系统中分页展示司机数据
- 3-26 司机微服务中修改司机个人信息
- 3-27 移动端修改司机个人信息
- 3-28 司机微服务中查询司机实名认证申请
- 3-29 Web系统中展示司机实名认证申请
- 3-30 司机微服务中更新司机备案状态
- 3-31 Web系统审批实名认证申请
- 3-32 本章总结
卖家进行搜索推荐时,也会对用户对商品的点击以及购买行为做分析,依此进行推荐。点击率预估模型就是用在这种场景。本章着重讲解点击率预估模型中的随机森林算法和GBDT算法、对GBDT进行实现和测试。
商品微服务提供两大核心功能:异步入库商品信息与商品信息查询。为了对异步任务进行监控管理,我们需要实现监控切面与代理执行管理器;商品信息查询是非常频繁的操作,我们使用 Redis 缓存数据,提高工程的并发性能。
- 10-1 商品信息对象定义及转换方法
- 10-2 商品属性枚举类及转换器定义(上)
- 10-3 商品属性枚举类及转换器定义(下)
- 10-4 数据表及 ORM 过程
- 10-5 商品信息对象定义及转换方法
- 10-6 异步任务与商品服务接口定义
- 10-7 异步入库商品服务功能实现
- 10-8 异步任务执行管理器
- 10-9 异步任务执行监控切面
- 10-10 商品相关服务接口实现(上)
- 10-11 商品相关服务接口实现(中)
- 10-12 商品相关服务接口实现(下)
- 10-13 异步入库商品功能可用性验证
- 10-14 商品服务接口可用性测试
- 10-15 商品微服务对外 HTTP 接口
- 10-16 验证商品微服务功能可用性
- 10-17 商品微服务总结
- 10-18 【查缺补漏】Redis的安装
- 10-19 章节思考题
无线通信网涵盖语音通信的移动系统、无线局域网及广域网。技术发展推动网络从固定向移动转变,移动电话网亦向语音数据综合传输演进。二者融合让Internet无处不在,更便捷实用。本章回顾移动电话网历程,详析无线局域网与城域网架构及技术,并展望新一代移动通信网趋势。
学习 NestJS 微服务健康检查方案,集成 gRPC 健康检查,通过 Terminus 创建健康检查端点,优化微服务代码,提炼 HealthModule 并支持多端点的动态健康检查配置
物流微服务是订单微服务的下游服务,它们之间通过 Stream 结合消息中间件的模式构建了通信通道。创建订单完毕之后,由物流微服务异步生成物流单,并可以在此基础上做更多的扩展,例如:推送消息、构造物流清单等等。
乘客下单后,司机端和乘客端都会有司乘同显功能。司机赶往代驾点和代驾线路都会实时显示,偏航后自动重新生成线路。代驾过程中,司机端使用同声传译技术,把录制的音频转换成对话本文,然后将音频和文本分时上传服务端。对话文本被保存到HBase大数据平台,录音被保存到私有云空间。
- 5-1 订单微服务司机到达起始点,更新订单状态(一)
- 5-2 订单微服务,司机端加载执行的订单(一)
- 5-3 订单微服务,司机端加载执行的订单(二)
- 5-4 订单微服务,乘客端加载执行的订单(一)
- 5-5 订单微服务,乘客端加载执行的订单(二)
- 5-6 地图微服务,司机端的司乘同显(一)
- 5-7 地图微服务,司机端的司乘同显(二)
- 5-8 地图微服务,司机端的司乘同显(三)
- 5-9 地图微服务,乘客端的司乘同显(一)
- 5-10 地图微服务,乘客端的司乘同显(二)
- 5-11 订单微服务司机到达起始点,更新订单状态(一)
- 5-12 订单微服务司机到达起始点,更新订单状态(二)
- 5-13 乘客端手动确认司机到达,并开始代驾模式(一)
- 5-14 乘客端手动确认司机到达,并开始代驾模式(二)
- 5-15 司机端利用地图APP实现驾驶导航
- 5-16 搭建HBase+Phoenix大数据平台
- 5-17 将录音监控保存到私有云,对话文本保存到大数据平台(一)
- 5-18 将录音监控保存到私有云,对话文本保存到大数据平台(二)
- 5-19 将录音监控保存到私有云,对话文本保存到大数据平台(三)
- 5-20 将录音监控保存到私有云,对话文本保存到大数据平台(四)
- 5-21 司机微服务打击刷单,禁止其他手机卡登陆司机小程序(一)
- 5-22 司机微服务打击刷单,禁止其他手机卡登陆司机小程序(二)
- 5-23 利用地图服务,智能判断司机刷单行为
- 5-24 本章总结
本章主要让大家了解后端技术架构的演进及各种架构的适用场景,以及掌握微服架构中的核心技术和知识点,了解常见的微服务框架,以及K8S作为微服务框架的优势。
- 2-1 常见的微服务框架
- 2-2 后台技术架构的发展史
- 2-3 【文】后台架构演进的关键节点和重点
- 2-4 服务发现与负载均衡(一)
- 2-5 服务发现与负载均衡(二)
- 2-6 【文】服务发现与负载均衡
- 2-7 从设计模式角度理解API网关
- 2-8 服务调用的限频、限流、降级和熔断(一)
- 2-9 服务调用的限频、限流、降级和熔断(二)
- 2-10 服务调用的限频、限流、降级和熔断(三)
- 2-11 【文】服务调用的限频、限流、降级和熔断
- 2-12 常见的微服务框架
- 2-13 为什么选择kubernets作为微服务框架
- 2-14 【文】常见限流算法及Hystrix源码解读
- 2-15 本章作业
- 2-16 本章小结
学习 NestJS 微服务的实践与应用,探索微服务方案、TCP通信、常用装饰器、项目工程化配置,掌握容器化部署、事件广播消息传递及超时和错误处理机制
本章专注于云原生微服务特性的实践,包括微服务概念的理解与服务拆分。核心内容包括云原生微服务特性的本质、Bookinfo应用的微服务拆分思路分析,以及具体模块如web、productpage、details、reviews和ratings的拆分实践。通过这些内容,同学可以学习到如何将单体应用拆分为独立的微服务,以及云原生环境下微服务设计的关键考量。
本章主要讲解构建父子maven聚合项目,及搭建最新版微服务基础框架,构建微服务注册中心与构建微服务网关。
- 4-1 【基础】idea设置微历史微服务列表
- 4-2 【基础】构建maven分层聚合项目
- 4-3 【基础】SpringBoot3与微服务版本依赖构建
- 4-4 【基础】搭建新版分布式微服务架构
- 4-5 【基础】idea设置微历史微服务列表
- 4-6 【实战】Docker安装Nacos注册中心
- 4-8 【实战】构建微服务并注册到Nacos
- 4-9 【基础】构建SpringBoot多环境profile配置
- 4-10 【实战】微服务网关Gateway原理与构建
- 4-11 【进阶】网关高并发流量防刷 - Redis整合与通用工具类.
- 4-12 【实战】实现微服务网关Gateway的统一路由功能.
- 4-13 【进阶】网关高并发流量防刷 - 网关基本结构与异常返回.
- 4-14 【进阶】网关高并发流量防刷 - 防刷逻辑落地.
- 4-15 【进阶】网关高并发流量防刷 - 分布式动态参数配置
- 4-16 本章小结.
本章继续微服务实战,带大家针对微服务统一的请求进行管理,使用zuul作为微服务网关,结合config与bus作为动态配置中心,最后还会使用stream消息组件以及sleuth链路追踪组件优化服务。
- 12-1 微服务网关【zuul】
- 12-2 搭建网关微服务【zuul】
- 12-3 配置路由【zuul】
- 12-4 配置微服务实例的路由【zuul】
- 12-5 过滤器【zuul】
- 12-6 限制ip黑名单的频繁请求【zuul】
- 12-7 分布式配置中心【config】
- 12-8 搭建配置中心【config】
- 12-9 配置中心实现git配置读取【config】
- 12-10 配置客户端拉取配置【config】
- 12-11 动态刷新git配置【config】
- 12-12 消息总线概述【bus】
- 12-13 配置实现消息统一发送【bus】
- 12-14 消息驱动概述【stream】
- 12-15 实现生产者与消费者【stream】
- 12-16 消息分组与持久化【stream】
- 12-17 链路追踪概述与zipkin【sleuth】
- 12-18 整合zipkin【sleuth】
- 12-19 SpringCloud总结