上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 24 下一页
摘要: 一. String 1. 数据类型介绍 典型的Key-Value集合,不少人喜欢用来存实体,需要序列化成字符串,获取的时候需要反序列化一下。(还是建议合理选择redis的数据结构,而不是万物都用string) 2. 应用场景 (1). 缓存 string类型最简单的一个应用就是Key-value缓存 阅读全文
posted @ 2020-10-25 19:22 Yaopengfei 阅读(1058) 评论(5) 推荐(0) 编辑
摘要: 一. Redis整体介绍 1. NOSQL介绍 1.什么是NOSQL NoSQL(NoSQL = Not Only SQL),意即“不仅仅是SQL”,是一项全新的数据库理念,泛指非关系型的数据库。 随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SN 阅读全文
posted @ 2020-10-24 19:15 Yaopengfei 阅读(1538) 评论(3) 推荐(1) 编辑
摘要: 一. Redis安装和连接 1. 下载地址 官网:https://redis.io/ 官网-中文:http://www.redis.cn/ Linux下载地址:https://download.redis.io/releases/ Windows下载地址:https://github.com/Mic 阅读全文
posted @ 2020-10-24 15:57 Yaopengfei 阅读(1379) 评论(1) 推荐(2) 编辑
摘要: 一. Cluster搭建 1. 事先准备 (1). 服务器环境:Centos8 (2). Redis环境:安装redis5.0版本 PS: 在redis 5.0之前,redis cluster的搭建需要借助Ruby环境,使用redis-trib指令进行集群的管理,redis5.0以后,redis已经 阅读全文
posted @ 2020-10-22 09:44 Yaopengfei 阅读(2635) 评论(2) 推荐(1) 编辑
摘要: 一. Nginx限流和负载均衡 1. 限流 可以ip限流或者限制总请求数。防止大量恶意请求,通过nginx的ip限制处理 1秒1个ip只能请求一次,但也有弊端,比如多个人在同一个ip下,容易误杀,所以看怎么取舍了. 参考代码: #user nobody; worker_processes 1; #e 阅读全文
posted @ 2020-10-21 13:43 Yaopengfei 阅读(1413) 评论(0) 推荐(1) 编辑
摘要: 一. 事件总线机制 1. 业务改造 引入时间总线的概念,采用CAP框架进行业务处理,同时利用RabbitMQ代替Redis队列,采用SQLServer进行本地消息表的存储, 采用 推模式 发送消息,我们习惯称之为 发布-订阅 模式。 关于基于CAP框架实现事件总线,详见: https://www.c 阅读全文
posted @ 2020-10-18 20:17 Yaopengfei 阅读(1590) 评论(4) 推荐(2) 编辑
摘要: 一. 前言 1.背景 最初版本的消费者一条一条获取,然后创建订单扣减库存,非常慢,我们希望在保证消费顺序的情况下提升消费速度。 2.设计思路 A.我们设置两个维度:数量 和 时间,比如当从队列中获取的数量达到200条的时候提交 或者 2s提交一次(但必须有数据) B.EFCore默认提交大数据量可能 阅读全文
posted @ 2020-10-18 20:12 Yaopengfei 阅读(773) 评论(3) 推荐(1) 编辑
摘要: 一. Lua简介 1. 介绍 Lua 是一种轻量小巧的脚本语言,用标准C语言编写并以源代码形式开放, 其设计目的是为了嵌入应用程序中,从而为应用程序提供灵活的扩展和定制功能。 该章节主要是Redis调用Lua脚本。 2. 好处 (1). 减少网络开销:本来多次网络请求的操作,可以用一个请求完成,原先 阅读全文
posted @ 2020-10-16 14:55 Yaopengfei 阅读(2256) 评论(1) 推荐(2) 编辑
摘要: 一. 单品限流 1. 含义 某件商品n秒内只接受m个请求, 比如:限制商品A在2s内只接受500个下单请求。 2.设计思路 利用Redis自增的Api,该商品的第一个请求进来的时候设置缓存过期时间,限制内正常走业务,限制外返回限流提示;时间到了,原缓存内容消失,下一次第一个请求进来重新设置过期时间 阅读全文
posted @ 2020-10-14 20:51 Yaopengfei 阅读(2029) 评论(1) 推荐(1) 编辑
摘要: 一. 小白写法 1.设计思路 纯DB操作 DB查库存→判断库存→(DB扣减库存+DB创建订单) 2.分析 A.响应非常慢,导致大量请求拿不到结果而报错 B.存在超卖现象 C.扣减库存错误 3.压测结果 前提:原库存为10000,这里统计2s内可处理的并发数,以90%百分位为例,要求错误率为0。 代码 阅读全文
posted @ 2020-10-14 13:33 Yaopengfei 阅读(2940) 评论(3) 推荐(3) 编辑
摘要: 一. 基本概念 1.QPS(Queries Per Second) A. 指每秒查询率,是一台服务器每秒能够响应的查询次数(数据库中的每秒执行查询sql的次数)。 B. 是数据库中的概念,每秒执行条数(查询),被引申到压测中来了,但是不包括插入、更新、删除操作,所以不建议用qps来描述系统整体的性能 阅读全文
posted @ 2020-10-10 10:18 Yaopengfei 阅读(2072) 评论(9) 推荐(1) 编辑
摘要: 一. CAP框架异常处理 1. RabbitMQ宕机 (1).模拟场景 直接把RabbitMq服务关闭,然后发送5次请求,会发现Published表中多了5条数据!!!!Received表中没有数据;然后打开RabbitMq服务,观察现象,仔细观察Published表,有3条记录已经重试了3次,是F 阅读全文
posted @ 2020-10-07 09:27 Yaopengfei 阅读(1777) 评论(11) 推荐(2) 编辑
摘要: 一. DotNet Core环境安装 1. 准备 (1). 宿主机:centos 8.0 (2). 运行时:ASP.NET Core Runtime PS:如果要开发 .NET 应用,请安装 SDK(包括了运行时)。 如果只需运行应用程序,只需要安装运行时。 如果要安装该运行时,建议安装 ASP.N 阅读全文
posted @ 2020-10-04 11:01 Yaopengfei 阅读(729) 评论(2) 推荐(0) 编辑
摘要: 一. Redis的安装 1. 准备 (1). 宿主机:centos 8.0 (2). Redis源码:【压缩包: redis-5.0.0.tar.gz】 需要自行编译。 (PS:这个压缩包可以直接Centos系统中在线下载 或者去Redis官网先下载,然后copy到Centos系统中) 下载地址: 阅读全文
posted @ 2020-10-04 07:24 Yaopengfei 阅读(720) 评论(8) 推荐(0) 编辑
摘要: 一. CAP框架简介 1. 什么是事件总线? 事件总线(EventBus)是一种机制,它允许不同的组件彼此通信而不彼此了解。 组件可以将事件发送到Eventbus,而无需知道是谁来接听或有多少其他人来接听。组件也可以侦听Eventbus上的事件,而无需知道谁发送了事件。 这样,组件可以相互通信而无需 阅读全文
posted @ 2020-10-03 09:20 Yaopengfei 阅读(2876) 评论(12) 推荐(2) 编辑
摘要: 一. 业务背景 1. 计划 以商城项目为基础,剖析秒杀功能、购物车功能等 先把单体架构优化到极致,然后向微服务架构转变,并分析当中遇到的各种问题。 2. 用到的技术栈和工具 服务器:centos8 数据库:MySQL 5.7 集群 基础框架:Asp.Net Core +EF Core + Dappe 阅读全文
posted @ 2020-09-29 15:14 Yaopengfei 阅读(8439) 评论(12) 推荐(3) 编辑
摘要: 一. 概念剖析 1. docker compose docker compose是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建,启动和停止。它主要是通过docker-compose.yml文件进行相关容器的配置,然后通过一些简单的指令可以操作该配置文件所包含的 阅读全文
posted @ 2020-09-22 09:07 Yaopengfei 阅读(1611) 评论(1) 推荐(0) 编辑
摘要: 一. docker容器和虚拟机对比 1. docker容器虚拟化 (1). 容器就是将软件打包成标准化单元,以用于开发、交付和部署。 (2). 容器镜像是轻量的、可执行的独立软件包 ,包含软件运行所需的所有内容:代码、运行时环境、系统工具、系统库和设置。 (3). 容器化软件在任何环境中都能够始终如 阅读全文
posted @ 2020-09-21 15:25 Yaopengfei 阅读(684) 评论(2) 推荐(0) 编辑
摘要: 一. 网络服务配置 1. 主机名配置 hostname: 查看主机名 hostname xxx: 修改主机名(重启后无效) PS: 如果想要永久生效,可以修改/etc/sysconfig/network文件 2. 静态IP的配置 (1). 查看ip地址 : ifconfig (2). 临时修改ip地 阅读全文
posted @ 2020-09-19 10:20 Yaopengfei 阅读(467) 评论(2) 推荐(0) 编辑
摘要: 一. 前言 1. 虚拟机介绍 (1). 虚拟机就是一台虚拟的电脑。 (2). 学习Linux最好是使用虚拟机,我们可以安装多个虚拟进行使用,满足了我们集群的使用环境。(当然我们也可以使用云服务器,就是有点小贵) (3). 常用的虚拟机软件有: A. VMWare:收费 (但是你懂得) B. Virt 阅读全文
posted @ 2020-09-19 10:17 Yaopengfei 阅读(1561) 评论(2) 推荐(0) 编辑
摘要: 一. docker compose服务编排简介 1. 背景 微服务架构的应用系统中一般包含若干个微服务,每个微服务一般都会部署多个实例,如果每个微服务都要手动启停,维护的工作量会很大: A. 要创建镜像 Dockerfile build image 或者去dockerhub拉取image B. 要创 阅读全文
posted @ 2020-09-15 13:57 Yaopengfei 阅读(736) 评论(3) 推荐(0) 编辑
摘要: 一. 自定义Centos镜像 1. 要求 基于Centos7.0官方镜像制作一个自己的名为ypfcentos的镜像,版本为1.0,要求如下: (1). 默认的登录路径 /ypfusr (2). 可以使用vim 2. 步骤 (1). 下载一个centos7.0的官方镜像 【docker pull ce 阅读全文
posted @ 2020-09-15 07:19 Yaopengfei 阅读(483) 评论(1) 推荐(0) 编辑
摘要: 一. docker镜像原理剖析 灵魂三问: 1. docker 镜像的本质是什么? 2. docker中一个centos镜像大约200M左右,为什么一个centos系统的iso安装文件要好几个G? 3. docker中一个tomcat镜像大约500M左右,为什么一个tomcat安装包不足100M呢? 阅读全文
posted @ 2020-09-10 07:20 Yaopengfei 阅读(1638) 评论(3) 推荐(0) 编辑
摘要: 一. 部署Redis 1. 去 https://hub.docker.com/ 中搜索Redis镜像,查看相关版本 2. 下载5.0版本的镜像 docker pull redis:5.0 3. 构建容器,并做端口映射 docker run -id --name=myredis -p 6379:637 阅读全文
posted @ 2020-09-08 07:05 Yaopengfei 阅读(1324) 评论(10) 推荐(0) 编辑
摘要: 一. 数据卷概念及作用 1. 背景 (1). Docker 容器删除后,在容器中产生的数据也会随之销毁,如何保持容器中的数据呢? (2). Docker 容器和外部机器可以直接交换文件吗? (3). 容器之间想要进行数据交互? 2. 概念 (1). 数据卷是宿主机(linux主机)中的一个目录或文件 阅读全文
posted @ 2020-09-05 20:57 Yaopengfei 阅读(622) 评论(2) 推荐(1) 编辑
摘要: 一. docker简介 1. docker背景 我们在实际开发中,会接触到多个环境,比如:开发环境、测试环境、生产环境。经常会出现程序员在本机上运行好用的代码,迁移到测试环境中不好用了; 测试环境校验没问题的程序发布到生产环境中又出错了,然后开发、测试、运维各方人员开始扯皮,干架,出现这种情况,很大 阅读全文
posted @ 2020-09-04 07:33 Yaopengfei 阅读(858) 评论(4) 推荐(0) 编辑
摘要: 一. EFCore剖析 1. 过滤查询 eg:查询用户姓名中含有p字母的所有用户信息。 写法1:使用EF.Functions.Like var data1 = dbContext.T_UserInfor.Where(u => EF.Functions.Like(u.userName, "%p%")) 阅读全文
posted @ 2020-09-01 11:39 Yaopengfei 阅读(5467) 评论(2) 推荐(2) 编辑
摘要: 一. 简介 1. Vi简介 如果使用 linux 桌面,也有一些图形化文本编辑器(类似于记事本),但 linux 的神级编辑器是 vi,如果连 vi 都不会用就别说会用 linux。 在很多环境下是没有图形界面的,只能用 vi。VI 是全键盘操作,不能用鼠标。当然日常开发还是在图形界面下使用 VS 阅读全文
posted @ 2020-09-01 07:36 Yaopengfei 阅读(1228) 评论(1) 推荐(0) 编辑
摘要: 一. Linux简介 1. 什么是linux 世界上不仅只有一个 Windows 操作系统,还有 Linux、mac、Unix 等操作系统。桌面操作系统下 Windows 是霸主,而 Linux 的桌面操作系统用的人很少,因为 Windows 有的很多软件在 Linux 下没有或者很弱;服务器操作系 阅读全文
posted @ 2020-09-01 07:35 Yaopengfei 阅读(2443) 评论(7) 推荐(1) 编辑
摘要: 一. 用户管理 1. 查看账户 (1). 查看当前账号:whoami (2). 查看系统当前登录的账号:who 补充常用选项: (3). 查看系统所有的账号: cat /etc/passwd 2. exit:退出登录账户 如果是图形界面,退出当前终端; 如果是使用ssh远程登录,退出登陆账户; 如果 阅读全文
posted @ 2020-08-28 08:28 Yaopengfei 阅读(538) 评论(2) 推荐(1) 编辑
上一页 1 ··· 9 10 11 12 13 14 15 16 17 ··· 24 下一页