自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(106)
  • 收藏
  • 关注

原创 常用英语单词总结(每天翻看下)

dockerdocker history 查看镜像的历史docker export 容器id > 文件名.tar 导出容器(本质:导出镜像文件)docker import redis.tar redis.V1 导入export import (镜像名)save load (容器名)docker build 生成镜像from 指定基础镜像run 一次构建一...

2019-12-05 10:19:11 268

原创 第十章 如何才能写出好的代码

有效地分离 logic Controller 和 Data。

2023-07-12 00:26:38 154

原创 pc端手机号验证码登陆页面

useContext 使用 存储全局用户信息。登陆接口,使用阿里云服务发送短信。创建页面路由 制定接口规范。为什么不用redux。

2023-07-11 18:28:19 357

原创 第八章 npm锁定版本

当我们走 npm install 带 ^ 会升级。

2023-07-11 02:25:27 1153

原创 第七章 环境软件的安装

系统偏好设置 - 通用 - 首选以标签页显示文稿-始终。nvm install 18.7.0 安装指定的版本。nvm use 18.6.0 切换到别的版本。按住 CMD + shift + p。安装 mysql Workbench。nvm ls 查看当前安装的版本。配置同一个项目,在不同的选项卡。node -v node版本。安装多个node版本。

2023-07-11 01:48:58 133

原创 第六章 mac上用的软件

1、brew.sh/index_zh-cn2、网易有道词典3、SizeUP4、5、chrome浏览器插件6、快捷键

2023-07-11 01:29:21 541

原创 第五章 React18的并发渲染原理

遍历完 想恢复中断的 最多只能恢复子节点fiber链表同步:都在渲染 绘制并发:需要调用startTransition才有并发workerLoopConcurrent 只有一次渲染 绘制shouldYield 执行的时间超过5毫秒时间分片就会被中断一下 就会执行插入更高优先级的任务直到没有操作 才会commit render渲染 绘制。

2023-07-11 00:11:41 273

原创 第四章 React18的重要更新和使用的新特性

使用了并发特性,开启并发更新。有些情况,不希望合并处理。

2023-07-10 23:09:21 325

原创 第三章 技术选型

和服务器端运行时,它可以使客户端准确获取到需要的数据,没有任何冗余。必须有人可以兜底,可以解决。修改的版本最好可以上下兼容。核心项目不要用最新的技术。2、使用TypeScript编程。1、最像JAVA的node框架。5、告诉增长的star数。3、丰富的第三方模块。4、强大的脚手架工具。

2023-07-10 22:37:57 250

原创 第二章 标准的项目开发流程

针对产品需求文档 PRD 进行讨论。产品经理,研发部门,前端,后端。5、接口设计评审,提供接口文档。4、技术方案评审 (前后端)9、提测报告(给测试人员)8、冒烟用例(前后端)12、发布上线/验证。

2023-07-10 22:17:24 270

原创 第一章 约课系统

后期添加: 审批 推荐

2023-07-10 21:41:44 77

原创 第十三章 K8S

master机:192.168.26.227。node机:192.168.26.228。查看运行的node节点机器。

2023-07-08 15:39:56 563

原创 第十二章 elk

ELK架构中使用Logstash收集、解析日志,但是Logstash对内存、cpu、io等资源消耗比较高。相比 Logstash,最左边的是业务服务器集群,上面安装了filebeat做日志采集,同时把采集的日志分别发送给两个logstash服务。logstash服务把接受到的日志经过格式处理,转存到ES DataNode。ES DataNode 会把收到的数据,写磁盘,建索引库。日志分布在多台不同的服务器上,业务一旦出现故障,需要一台台查看日志。单个日志文件巨大,无法使用常用的文本工具分析,检索困难;

2023-07-08 15:13:40 791

原创 第十二章 kafka

Producer即生产者,消息的产生者,是消息的入口。:Broker是,每个服务器上有一个或多个kafka的实例,我们姑且认为每个broker对应一台服务器。每个kafka集群内的broker都有一个不重复的编号,如图中的broker-0、broker-1等……主要负责处理读和写的请求:消息的主题,可以理解为消息的分类,kafka的。在每个broker上都可以创建多个topic。:Topic的分区,每个topic可以有多个分区,分区的作用是做负载,提高kafka的吞吐量。

2023-07-06 22:16:48 686

原创 第十一章 rabbitmq分布式事务

下单与下单统计之间的分布式事务

2023-07-06 16:21:57 82

原创 第十章 服务降级

降级的最终目的是保证核心服务的高可用。过程就是丢卒保帅,有些服务是无法降级的,比如支付。当我们的服务器压力剧增为了保证核心功能的可用性 ,而选择性的降低一些功能的可用性,或者直接关闭该功能。这就是典型的丢车保帅了。就比如贴吧类型的网站,当服务器吃不消的时候,可以选择把发帖功能关闭,注册功能 关闭,改密码,改头像这些都关了,为了确保登录和浏览帖子这种核心的功能。降级的原理:就是降低次要功能的可用性实用性,增加核心功能的高可用性。降级的实现原理是多样多样的。

2023-07-06 14:50:24 116

原创 第九章 elasticsearch集群与商品搜索

1、支持复杂的查询;2、ES从一出生就是为分布式、集群化而 生的,不仅方便横向扩展、动态增加节点创建索引的时候,定义3个分片,每个分片1个副本集,一个就有6个分片如图,不论我们有多少个es实例,当用户需要对es进行增删改查的时候,连接任何一台节点都行,es内部会进行转发。这也是es集群的个性之一。

2023-07-06 13:35:18 550

原创 第八章 实现商品详情数据异构及静态化

2 、直接模式,对于部分高并发请求, 为了提高吞吐率, 有必要砍掉一些环节和应用来实现快速响应,如上图,这里我们将普通模式中的php-fpm和php框架砍掉了。1、 普通模式,用户获得redis数据需要经过nginx,lua-nginx-module是nginx的lua模块。nginx直接从redis获取数据。对应的ngnix配置。

2023-07-06 12:46:22 748

原创 第七章 商品详情三

3、前端访问商品详情页: 先请求的mongodb中的聚合数据,借此实现页面展示(前端部分略),而对于有部分数据,是需要买家点击后才显示的, 这类数据是在 买家点击后到redis异构数据中去请求数据。2、数据worker(192.168.232.100)作为rabbitmq的消费者,对消息进行消费, 并将库存数据放入mongodb集群和redis,mongodb中的是聚合数据(),而redis当中的 是异构数据。

2023-07-06 11:34:21 191

原创 第六章 rabbitmq高可用集群

在服务之间会采用mq进行消息通信,而rabbitmq本身也如同consul一样,如果只有一个节点那么就可能出现宕机的问题,并且基于mq的特点我们是可以在多个服务之间使用同一个mq来相互通信,因此高可用的架构设计就必不可少。

2023-07-06 10:43:36 985

原创 第五章 商品服务发现与客户服务通信

正常来说consul是会向服务去做心跳检测的;这个操作很简单只需要基于consul的参数进行配置即可处理好,当然在这之前我们需要了解当前rpc的运行协议是什么。运用tcp来实现rpc通信;consul心跳检测只需要修改配置即可实现。这里我们可以利用一个shell脚本设置.env内容处理。

2023-07-05 22:23:01 1352

原创 第四章 商品详情分析与高可用负载均衡

ii:可以选择将商品详情单独拆分成一个服务,将它放到商品模块,但实际场景中,商品详情可以单独部署成一个服务,这个实现起来也很简单,增加商品详情服务器然后注册到consul即可。我们采用了数据聚合,将其他服务和模块的数据聚合到商品详情下的mongodb,前端请求mongodb获得聚合完成数据。对于商品模块以及首页等查询多,几乎无插入的内容,我们可以考虑不同层面的缓存策略以便可以更好的提高查询的效率;也就是说需要获取以及展示的数据就非常的多,因此在根据不同的唯度拆分的情况下就需要从不同的服务获取相关的数据。

2023-07-05 19:06:28 59

原创 第三章 ngnix动态负载均衡

1. worker进程重启的过程会等待现有的请求处理完毕(需要一定的时间) 2. 重启的过程中无法 处理请求-可能会造成一定的性能消耗(可能会堆积一些用户的请求无法处理)我们正常的情况就是,如果需要额外增加一台服务器,则会出现一个情况,就是它需要我们进行重启才能生效;client【0】 -》 nginx(upstream xx { 【1】 }) -》consul (【2】)《- 服务(【3】)【3】:服务在启动的时候通过put向consul注册自己的信息。【2】:如同一个数据库记录服务器的信息。

2023-07-05 18:56:43 1555

原创 第二章 swoft 快速入门

RPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前分布式系统架构 ,微服务中不同的系统之间的远程通信和相互调用的重要的环节。客户端通过发送一个规定的rpc协议,请求服务的注册中心,由服务注册中心检索可用服务并且实现调用转发,服务内容由代码服务器在启动的时候,注册到服 务中心。服务中心暂时利用redis存储内容。

2023-07-05 18:31:56 505 1

原创 第一章:项目架构演变

架构演变

2023-07-05 16:12:05 122

原创 redis常见知识点总结

1、redis的使用场景限流降级秒杀排行榜2、限流流量达到一定的阀值时会拒绝一部分流量限流的算法漏桶计数器请求来了+1操作超出时间间隔的充置。如一分钟的访问次数不能超过100个当有突发性并发时如1秒内瞬间发送200个请求。会有临界问题漏桶算法中的临界问题指的是当桶中的数据量接近桶的最大容量时,由于数据处理和发送速度是固定的,这时就有可能发生大量的丢包现象。

2023-06-28 14:37:07 707

原创 hyperf笔记

客户端发起一个请求,服务端并不是每次都创建线程去处理,而是通过io多路复用技术,把多个请求复用到同一个select上,达到一个线程处理多个请求。当这些注解在被读取到后,就会被放进容器中,然后利用php反射技术去解析这些注解,根据对应的信息去做对应的处理。某个类或者方法,不需要new实例化,只需要通过inject注入,最后再声明下,就可以在对象中使用这个类。客户端发起一个请求,服务端就需要生成对应的线程去处理,一个线程处理一次请求。服务器接收到请求后,会验证客户端携带的token,通过后,就会返回请求数据。

2022-10-17 13:40:56 957

原创 ngnix笔记

与上面的select没有太大的区别,管理着多个描述符,对描述符进行轮询,但是没有最大文件描述符的数量限制。当连接有IO流事件产生的时候,epoll就会告诉进程是哪个连接有事件发生,然后进程就会去处理这个连接。根据客户端请求的url,里面会包含jpg ,png,.php等,来判断请求是否是静态资源。主要是通过异步非阻塞的事件驱动模型 和 多进程机制 实现高性能的。调用后select会阻塞,知道有数据,或者超时,函数才会返回。采用独立的进程,可以让进程互不影响。认证 注册 登录 权限验证。

2022-10-14 18:11:22 520 1

原创 linux笔记

内核是单线程处理工作的,多个动作的话,需要等待内核去完成后,这个时候就会出现网络IO模型。程序发送一个请求通过socket 再通过协议 再由系统内核去完成某个动作。websocket http都是基于tcp udp演变而来的。在一个文件夹中递归查询包含test字符串的文件。io模型就是当系统正在忙的时候的处理方式。非交互且面向字节流的编辑器。

2022-10-13 14:29:53 838

原创 docker笔记

1、docker流程1.客户端docker builddocker pulldocker run2.docker主机container容器images镜像3.仓库2、docker底层原理docker会在本机中寻找镜像,如果有该镜像,就会以它为模板,生产实例;如果没有,就会去docker hub上查找镜像,查找到就会下载到本地,并且以它为模板,生产实例。3、docker是什么‘docker是一个cs结构的系统,docker的守护进程运行在主机上,然互通过socket连接客户端,docker接收到命令后管理运行

2022-10-12 11:22:36 190

原创 rabbitmq笔记

在第一次消费消息的时候,可以把key放在redis中,这个key需要是全局的唯一的,消息id,还需要设置过期的时间。消息的发送方,为防止消息的丢失,投递失败,提供了confirm和return两种解决方法。过期的信息,如订单未支付的,会放在死信交换机中,通过死信中的队列处理后续逻辑。在mq中,幂等性是指 多次消费一条消息 和 消费一条消息 的结果是一样的。一旦事务协调者的节点挂掉,会导致参与者接收不到提交或者回滚的通知。过期的信息会转移到死信队列,然后去完成后期的业务。

2022-10-11 18:13:42 575

原创 redis笔记

解决临界问题,1s访问次数不超过100个,使用计数器counter +1 , 但是会有可能1s内瞬间发送200个请求。ngnix + lua + redis乐观锁 如何实现qps 20000的负载。ngnix + lua + redis乐观锁 帮助公司实现高效的秒杀系统。在消费者下线的情况下,生产的消息丢失,需要专业的rabbitmq。五、redis,lpop一条数据后,插入数据库失败怎么办。将可能存在的数据哈希到一个足够大的bitmap中。有顺序集合,不重复,但是有权重,可以按照优先级。

2022-10-11 09:31:09 282

原创 ngnix读书笔记

ngnix的主要作用:web服务器和负载均衡负载均衡的内部策略:1.轮询2.加权轮询3.ip hash惊群ngnix服务的启动 停止 平滑重启 平滑升级ngnix.conf配置文件的认识ngnix服务器的web请求处理机制,也就是web服务器需要有能力处理多个客户端的任务1.多进程2.多线程3.异步方式ngnix的事件驱动模型1.select库2.poll库3.epoll库ngnix服务器的高级配置针对CPU的ngnix

2022-04-26 21:17:40 1154

原创 docker基础指令

代码初运行 启动容器,需要进入到虚拟机项目目录 docker-compose up -d / docker-compose up 进入容器 docker exec -ti game-server-php bash 下载依赖 composer install 退出容器 ctrl+p+q 构建单独镜像,需要虚拟机中进入目录下到code目录 docker build -t test01 . 替换docker-compose.yml中到php镜像为新构建镜像

2021-09-30 18:39:45 58

原创 联想电脑进入BIOS设置

VMware,早上进Linux操作系统虚拟机时,出现此主机支持 Intel VT-x,但 Intel VT-x 处于禁用状态通过UEFI固件设置进入BIOS1、点开设置->更新和安全;2、选择恢复->高级启动->选择立即重新启动;3、选择疑难解答->高级选项;4、UEFI固件设置->重启;5、可以进入BIOS界面...

2021-09-25 09:52:29 3299

原创 秒杀

(只会生成一笔订单) (并发的时候,有可能2个用户同时执行到这行代码)队列:先不处理请求,而是放入到队列,然后系统每次会从队列中取出一条来处理负载均衡:用更多的机器去扛请求接入层限流:利用ngnix限流,只转发部分数据给到系统 (上面的都是要处理,这里只有部分数据需要处理,因为只会生成一个订单)通过锁数据实现,不释放的话,对mysql性能有影响乐观锁,没有给mysql加锁,只是利用了sql语句中的版本号去控制...

2021-03-17 16:13:45 102

原创 优化ngnix

Ngnix常用模块介绍 对客户端进行限制相关配置-预防CC攻击 一般在下面的需求: 秒杀、抢购并发限制下载带宽限制 防止攻击 Limit_req_zone用来限制单位时间内的请求数,即速率限制,采用的漏桶算法 Limit_req_conn用来限制同一时间连接数,即并发限制 ngnix限制连接数...

2021-02-05 22:44:04 91

原创 ngnix

nginx原理了解 什么是nginx? ngnix是一款自由的、开源的、高性能的HTTP服务器[1]和反向代理服务器; 同时也是一个IMAP、POP3、SMTP代理服务器; Nginx 可以作为一个HTTP服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。 Nginx三个主要应用场景 ...

2021-02-03 17:53:09 115

原创 奇葩说金句

三个程序员穿着格子衫 往那一站 开心消消乐 往出一走 移动的马赛克 自己都发现不了自己 扭头一看 还以为自己在照镜子遇水搭桥 逢敌亮剑

2020-12-30 14:57:53 214

原创 修图

需要反复看第四集facetune1.调整脸部大小a) 扭曲工具b)重塑2.人像的磨皮深度磨皮3.光影的重塑(重点难点)上色工具,对暗部进行涂抹4.肤色调整活力工具5.画面元素补偿quicksort滤镜调色LR亮度工具...

2020-04-29 18:02:25 176

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除