随笔分类 -  微服务

摘要:7. Nginx本地缓存 现在,整个多级缓存中只差最后一环,也就是nginx的本地缓存了。如图: 7.1 本地缓存API OpenResty为Nginx提供了shard dict的功能,可以在nginx的多个worker之间共享数据,实现缓存功能。 7.1.1 开启共享字典 在nginx.conf的 阅读全文
posted @ 2022-05-05 20:46 yub4by 阅读(37) 评论(0) 推荐(0) 编辑
摘要:6. 查询Redis缓存 现在,Redis缓存已经准备就绪,我们可以再OpenResty中实现查询Redis的逻辑了。如下图红框所示: 当请求进入OpenResty之后: 优先查询Redis缓存 如果Redis缓存未命中,再查询Tomcat 6.1 封装Redis工具 OpenResty提供了操作R 阅读全文
posted @ 2022-05-05 20:43 yub4by 阅读(36) 评论(0) 推荐(0) 编辑
摘要:5. Redis缓存预热 5.1 添加redis缓存的需求 5.2 冷启动与缓存预热 Redis缓存会面临冷启动问题: 冷启动:服务刚刚启动时,Redis中并没有缓存,如果所有商品数据都在第一次查询时添加缓存,可能会给数据库带来较大压力。 缓存预热:在实际开发中,我们可以利用大数据统计用户访问的热点 阅读全文
posted @ 2022-05-05 20:38 yub4by 阅读(26) 评论(0) 推荐(0) 编辑
摘要:4. 查询Tomcat[案例] 拿到商品ID后,本应去缓存中查询商品信息,不过目前我们还未建立nginx、redis缓存。因此,这里我们先根据商品id去tomcat查询商品信息。我们实现如图红框部分: 需要注意的是,我们的OpenResty是在虚拟机,Tomcat是在Windows电脑上。两者IP一 阅读全文
posted @ 2022-05-03 21:45 yub4by 阅读(33) 评论(0) 推荐(0) 编辑
摘要:1. 安装 注意:因为需要在线下载依赖库,所以Linux虚拟机必须联上互联网 1.1 安装开发库 首先要安装OpenResty的依赖开发库,执行命令: yum install -y pcre-devel openssl-devel gcc --skip-broken 1.2 安装OpenResty仓 阅读全文
posted @ 2022-05-03 21:43 yub4by 阅读(32) 评论(0) 推荐(0) 编辑
摘要:1. 安装OpenResty 1.1 OpenResty介绍 OpenResty® 是一个基于 Nginx的高性能 Web 平台,用于方便地搭建能够处理超高并发、扩展性极高的动态 Web 应用、Web 服务和动态网关。具备下列特点: 具备Nginx的完整功能 基于Lua语言进行扩展,集成了大量精良的 阅读全文
posted @ 2022-05-03 21:43 yub4by 阅读(60) 评论(0) 推荐(0) 编辑
摘要:1. 初识Lua 1.1 what is Lua? Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。官网:https://www.lua.org/ Lua经常嵌入到C语言开发的程序中,例如游戏开发、游戏插 阅读全文
posted @ 2022-05-01 18:41 yub4by 阅读(26) 评论(0) 推荐(0) 编辑
摘要:启动docker服务:systemctl start docker 2.1 导入商品管理案例 2.1.1 安装MySQL 后期做数据同步需要用到MySQL的主从功能,所以需要大家在虚拟机中,利用Docker来运行一个MySQL容器(新的,防止与其他环境干扰)。 CentOS虚拟机Docker安装My 阅读全文
posted @ 2022-05-01 10:14 yub4by 阅读(45) 评论(0) 推荐(0) 编辑
摘要:HM-SpringCloud微服务系列11:多级缓存-高级篇 1. 什么是多级缓存 多级缓存是亿级流量的缓存方案 浏览器访问静态资源时,优先读取浏览器本地缓存 访问非静态资源(ajax查询数据)时,访问服务端 请求到达Nginx后,优先读取Nginx本地缓存 如果Nginx本地缓存未命中,则去直接查 阅读全文
posted @ 2022-05-01 10:06 yub4by 阅读(69) 评论(0) 推荐(0) 编辑
摘要:1. 搭建分片集群 1.1 集群结构 分片集群需要的节点数量较多,这里我们搭建一个最小的分片集群,包含3个master节点,每个master包含一个slave节点,结构如下: 这里我们会在同一台虚拟机中开启6个redis实例,模拟分片集群,信息如下: | IP | PORT | 角色 | | : : 阅读全文
posted @ 2022-04-26 13:02 yub4by 阅读(53) 评论(0) 推荐(0) 编辑
摘要:1. 哨兵的作用与原理 1.1 哨兵的作用 1.2 服务状态监控 1.3 选举新的master 1.4 实现故障转移 1.5 小结 Sentinel的三个作用是什么? 监控 故障转移 通知 Sentinel如何判断一个redis实例是否健康? 每隔1秒发送一次ping命令,如果超过一定时间没有相向则 阅读全文
posted @ 2022-04-25 17:41 yub4by 阅读(110) 评论(0) 推荐(0) 编辑
摘要:1. 搭建主从结构 1.1 集群结构 如上图所示,共包含三个节点,一个主节点,两个从节点。 这里我们会在同一台虚拟机中开启3个redis实例,模拟主从集群,信息如下: | IP | PORT | 角色 | | : : | :--: | : : | | 10.193.193.141 | 7001 | 阅读全文
posted @ 2022-04-25 11:14 yub4by 阅读(46) 评论(0) 推荐(0) 编辑
摘要:上回书说到,RDB因两次执行间隔时间较长而存在数据丢失的风险 2. AOF持久化 2.1 AOF全称为Append Only File(追加文件)。Redis处理的每一个写命令都会记录在AOF文件,可以看做是命令日志文件。 &符后面的数字记录的是指令的长度 删掉上一节中生成的rdb文件 这次,在/t 阅读全文
posted @ 2022-04-24 18:00 yub4by 阅读(29) 评论(0) 推荐(0) 编辑
摘要:HM-SpringCloud微服务系列10:分布式缓存-高级篇 网络服务重启:systemctl restart network.service docker服务启动:systemctl start docker 本节redis不用docker 课前准备:centos7虚拟机单机安装redis 首先 阅读全文
posted @ 2022-04-24 17:59 yub4by 阅读(32) 评论(0) 推荐(0) 编辑
摘要:本节为课程缺失内容,未讲未实际操作,仅了解 1. 高可用集群结构 2. 实现高可用集群 2.1 模拟异地容灾的TC集群 计划启动两台seata的tc服务节点: 之前我们已经启动了一台seata服务,端口是8091,集群名为SH。 现在,将seata目录复制一份,起名为seata2 修改seata2/ 阅读全文
posted @ 2022-04-13 13:37 yub4by 阅读(28) 评论(0) 推荐(0) 编辑
摘要:3. TCC模式 3.1 原理 TCC模式与AT模式非常相似,每阶段都是独立事务,不同的是TCC通过人工编码来实现数据恢复。需要实现三个方法: Try:资源的检测和预留; Confirm:完成资源操作业务;要求 Try 成功 Confirm 一定要能成功。 Cancel:预留资源释放,可以理解为tr 阅读全文
posted @ 2022-04-13 09:53 yub4by 阅读(50) 评论(0) 推荐(0) 编辑
摘要:1. XA模式 1.1 原理 1.1.1 XA模式原理 XA 规范 是 X/Open 组织定义的分布式事务处理(DTP,Distributed Transaction Processing)标准,XA 规范 描述了全局的TM与局部的RM之间的接口,几乎所有主流的数据库都对 XA 规范 提供了支持。 阅读全文
posted @ 2022-04-12 10:46 yub4by 阅读(207) 评论(0) 推荐(0) 编辑
摘要:1. Seata的架构 Seata是 2019 年 1 月份蚂蚁金服和阿里巴巴共同开源的分布式事务解决方案。致力于提供高性能和简单易用的分布式事务服务,为用户打造一站式的分布式解决方案。 官网地址:http://seata.io/,其中的文档、播客中提供了大量的使用说明、源码分析。 Seata事务管 阅读全文
posted @ 2022-04-11 21:08 yub4by 阅读(212) 评论(0) 推荐(1) 编辑
摘要:HM-SpringCloud微服务系列9:分布式事务-高级篇 1. 分布式事务-导学 1.1 事务ACID原则 1.2 分布式服务的事务 1.2.1 案例 1.2.2 演示 启动三个微服务 使用postman工具进行测试 http://localhost:8082/order?userId=user 阅读全文
posted @ 2022-04-11 14:19 yub4by 阅读(32) 评论(0) 推荐(0) 编辑
摘要:现在,sentinel的所有规则都是内存存储,重启后所有规则都会丢失。在生产环境下,我们必须确保这些规则的持久化,避免丢失。 1. 规则管理模式 规则是否能持久化,取决于规则管理模式,sentinel支持三种规则管理模式: 1.1 原始模式(默认) 原始模式:控制台配置的规则直接推送到Sentine 阅读全文
posted @ 2022-04-09 18:17 yub4by 阅读(26) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示