自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

yshir

技术总结收集

  • 博客(514)
  • 收藏
  • 关注

转载 Runc 漏洞(CVE-2021-30465)离线修复

runC 是 Docker,Kubernetes 等依赖容器的应用程序的底层容器运行时。容器的安全性一直是容器技术的一个短板。关于容器最大的安全隐患是攻击者可以使用恶意程序感染容器,更严重时可以攻击主机系统。漏洞名称:runc 路径遍历漏洞/Docker runc容器逃逸漏洞。修复策略:将 runc 升级到 1.0.0-rc95 及以上版本。下载runc 1.0-rc95 runc.amd64。CVE 编号:CVE-2021-30465。2.2 检查runc版本。2.5 替换二进制文件。

2024-02-29 14:33:58 131

转载 python爬虫——scrapy的五大组件核心(详细笔记)

(1) 首先,我们最原始的起始url是在我们爬虫文件中的,通常情况系,起始的url只有一个,当我们的爬虫文件执行的时候,首先对起始url发送请求,将起始url封装成了请求对象,将请求对象传递给了引擎,引擎就收到了爬虫文件给它发送的封装了起始URL的请求对象。(2) 引擎拿到这个请求对象以后,又将请求对象发送给了调度器,队列接受到的请求都放到了队列当中,队列中可能存在多个请求对象,然后通过过滤器,去掉重复的请求。(6) 互联网将下载好的数据发送给下载器,此时下载好的数据是封装在响应对象中的。

2023-08-31 14:19:32 615

转载 python爬虫——scrapy使用笔记(超详细版)

打开setting.py文件,将“ROBOTSTXT_OBEY = True ” 中True修改为False。scrapy crawl first --nolog # (--nolog 不显示日志)(3)安装twisted pip install Twisted-在setting.py中设置日志输出信息,可以只输出错误日志信息。在spiders子目录中创建一个。(2)下载twisted。

2023-08-31 14:18:46 169

转载 python爬虫——数据解析笔记

解析的局部文本内容都会在标签之间或者标签对应的属性中进行存储。(2)标签或者标签对应的属性中存储的数据进行提取(解析)1、聚焦爬虫:爬取页面中指定的页面内容。(1)进行指定标签的定位。(5)持久化存储数据。(3)xpath解析。

2023-08-31 14:12:50 149

转载 python爬虫——爬取网页中的图片(正则表达式)

放两张图,祝大家虎年吉祥,虎虎生威。

2023-08-31 14:06:36 212

转载 Jkenis自动化部署工具

1、背景:在实际开发中,我们经常要一边开发一边测试,当然这里说的测试并不是程序员对自己代码的单元测试,而是同组程序员将代码提交后,由测试人员测试;或者前后端分离后,经常会修改接口,然后重新部署;这些情况都会涉及到频繁的打包部署;手动打包常规步骤:1.提交代码2.问一下同组小伙伴有没有要提交的代码3.拉取代码并打包(war包,或者jar包)4.上传到Linux服务器5.查看当前程序是否在运行6.关闭当前程序7.启动新的jar包8.观察日志看是否启动成功。

2023-07-18 13:58:32 616

转载 守护进程Supervisor安装详解

4 修改配置文件,指定各文件地址,包括配置文件,日志文件地址等。配合Supervisor做队列监控。5 创建配置文件夹并进入文件夹。

2023-05-17 14:36:16 245 1

转载 thinkphp6使用think-queue实现普通队列和延迟队列

消息的发布,获取,执行,删除,重发,失败处理,延迟执行,超时控制等队列的多队列, 内存限制 ,启动,停止,守护等消息队列可降级为同步执行。TP6 中使用 think-queue 可以实现普通队列和延迟队列。3、消费者进行监听队列,当监听到队列有新的消息时,获取队列第一条。2、消息队列服务将收到的消息存入redis队列中(zset)4、处理获取下来的消息调用业务类进行处理相关业务。1、通过生产者推送消息到消息队列服务中。5、业务处理后,需要从队列中删除消息。

2023-05-17 14:34:43 1039

转载 微信小程序Canvas绘制曲线图饼图柱状图雷达图蛛网图实现(附源码)

引用组件在你要显示图表的页面的json配置文件中加入以下配置,这也是组件的使用方法这一配置的作用是,允许我们在wxml 中使用组件。注意路径的相对位置要写对,如果目录结构和本例相同,就应该像上面这样配置。引入js。

2023-05-15 11:03:28 1959 2

原创 php 防止爬虫,服务器反爬虫攻略:Apache/Nginx/PHP禁止某些User Agent抓取网站

本文主要向大家介绍了PHP语言学习之php 防止设置,通过具体的内容向大家展示,希望对大家学习php语言有所帮助。php 防止爬虫设置例如:服务被疯狂。

2023-05-05 13:41:50 862

转载 快宝 第三方物流查询

一、快宝第三方二、使用步骤1.物流查询2.智能识别单号品牌3.合并

2023-02-09 16:30:40 226

转载 PHP 一步到位 实现支付宝APP 支付 (服务端 + 异步回调 + 客户端)

一、使用实例二、服务端1.下载SDK2.业务层3.业务层返回实例推荐使用联调工具:4.回调层三、客户端

2023-02-09 16:25:46 4119

转载 微信小程序 WebSocket 链接(ThinkPHP)

gateClient是用来辅助 workerman或者是gateway进行用户分组以及向用户发送信息的组件,同时,能够快速便捷的将原有系统的uid和clientid绑定起来。gateway-worker(后面直接称gateway)是基于 workerman 开发的TCP长连接框架,用于快速开发TCP长连接应用。支持高并发,超高稳定性,被广泛的用于手机app、移动通讯等领域的开发。在线聊天一般都是实用长连接保持通信,使用 workerman 虽然能够做到同样的效果,但是gateway更加的方便快捷。

2023-02-09 16:13:22 1069

原创 QPS、TPS、PV、UV、GMV、IP、RPS的概念解释

时间段越短,数据也越接近于瞬间并发如果用整日的数据来计算总请求数,需要按照日流量分布来估算一个峰值数据,日常APP可考虑使用 峰值=4 * 日均【当然还是要看你具体的访问量】没什么人用的服务 tps 20,返回有300ms就行了十万到百万级的服务,响应能达到tps50 /200ms就可以了后台服务,能达到tps 20 / 200ms即可(通常后台同时使用也没多少人)秒杀类的短时间高并发……TPS100或200 在 100ms内响应 应该也能撑一段时间(具体情况还是要看业务量)

2022-09-27 11:49:38 5262

原创 使用Supervisor守护进程

Supervisor是一个客户端/服务器系统,允许其用户监视和控制类似UNIX的操作系统上的多个进程。Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。

2022-09-23 12:01:15 3271

转载 nginx配置详解

nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器。同时也是一个IMAP、POP3、SMTP代理服务器,Nginx作为一个HTTP服务器进行网络的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。二、Nginx相关地址及。

2022-09-22 15:40:14 17745

转载 ElasticSearch最佳入门实践(二十一)partial update实现原理

partial update不需要应用程序查询document数据,可以直接修改field并传递到es进行更新。(1)应用程序先发起一个get请求,获取到document,展示到前台界面,供用户查看和修改。(5)es将老的document标记为deleted,然后重新创建一个新的document。(3)后台代码,会将用户修改的数据在内存中进行执行,然后封装好修改后的全量数据。PUT /index/type/id,创建文档&替换文档,就是一样的语法。(4)然后发送PUT请求,到es中,进行全量替换。

2022-09-07 14:31:36 223

转载 ElasticSearch最佳入门实践(二十)基于external version进行乐观锁并发控制

es提供了一个feature,就是说,你可以不用它提供的内部_version版本号来进行并发控制,可以基于你自己维护的一个版本号来进行并发控制。举个列子,假如你的数据在mysql里也有一份,然后你的应用系统本身就维护了一个版本号,无论是什么自己生成的,还是程序控制的。这个时候,你进行乐观锁并发控制的时候,可能并不是想要用es内部的_version来进行控制,而是用你自己维护的那个version来进行控制。es内部?version=1自定?

2022-09-07 10:03:34 193

转载 ElasticSearch最佳入门实践(十九)基于_version进行乐观锁并发控制

4、另外一个客户端,尝试基于version=1的数据去进行修改,同样带上version版本号,进行。同时带上数据的版本号,确保说,es中的数据的版本号,跟客户端中的数据的版本号是相同的,才能修改。问题之后,重新获取并尝试正确的完成更新。5、在乐观锁成功阻止。

2022-09-07 10:03:22 106

转载 ElasticSearch最佳入门实践(十八)Elasticsearch内部如何基于_version进行乐观锁并发控制

version_type=external,唯一的区别在于,_version,只有当你提供的version与es中的_version一模一样的时候,才可以进行修改,只要不一样,就报错;version=1,才能更新成功 es,_version=1,?在es后台,很多的这种类似的replica同步请求,都是多线程异步的,也就是说多个修改请求之间,是乱序的,没有顺序,可能先改的后到,后修改的先到。如果真的发生了后修改的数据先到,先修改的数据后到,es内部的机制是会先把后修改先到的数据保存,并且把版本号+1。

2022-09-07 10:03:11 538

转载 ElasticSearch最佳入门实践(十七)剖析Elasticsearch并发冲突问题以及控制方案

乐观锁状态下,用户B会去校验 ES 中的的这条数据版本号和自身的是否一致,如果不一致,则不会提交,会重新去 ES 中获取最新的数据 99 件,再次减一,变为 98。然后两个用户同时提交订单,但是总有一个线程是先到的,如果线程A先到,就会先将库存 -1 设置为99件。此时用户B突然就可以动弹了,这个时候获取到的商品库存为 99 件,当用户B购买商品后,库存变为 98。当用户A读取该商品数据的时候,会同时给数据库这一行加锁,而当用户B也读取该商品数据的时候,这个时候会被卡出处于等待状态。

2022-09-07 10:03:03 336

转载 ElasticSearch最佳入门实践(十六)_document的全量替换、强制创建以及 lazy delete 机制

(3)es会将老的document标记为deleted,然后新增我们给定的一个document,当我们创建越来越多的document的时候,es会在适当的时机在后台自动删除标记为deleted的document。(2)document是不可变的,如果要修改document的内容,第一种方式就是全量替换,直接对document重新建立索引,替换里面所有的内容。(1)创建文档与全量替换的语法是一样的,有时我们只是想新建文档,不想替换文档,如果强制进行创建呢?

2022-09-07 10:02:53 151

转载 ElasticSearch最佳入门实践(十五)_document的_source元数据以及定制返回结果解析

index元数据_type元数据_id元数据。

2022-09-06 11:26:14 130

转载 ElasticSearch最佳入门实践(十四)_document id 的手动指定与自动生成两种方式解析

1、手动指定document id根据应用情况来说,是否满足手动指定document id的前提:一般来说,是从某些其他的系统中,导入一些数据到es时,会采取这种方式,就是使用系统中已有数据的唯一标识,作为es中document的id。举个例子,比如说,我们现在在开发一个电商网站,做搜索功能,或者是OA系统,做员工检索功能。这个时候,数据首先会在网站系统或者IT系统内部的数据库中,会先有一份,此时就肯定会有一个数据库的primary key(自增长,UUID,或者是业务编号)。

2022-09-06 10:32:33 1318

转载 ElasticSearch最佳入门实践(十二)Elasticsearch容错机制:master选举,replica容错,数据恢复

Elasticsearch容错机制:master选举,replica容错,数据恢复

2022-09-06 10:27:58 164

转载 ElasticSearch最佳入门实践(十一)分布式原理 横向扩容过程,如何超出扩容极限,以及如何提升容错性

(5)3台机器下,9个shard(3 primary,6 replica),资源更少,但是容错性更好,最多容纳2台机器宕机,6个shard只能容纳1台机器宕机。(4)超出扩容极限,动态修改replica数量,9个shard(3primary,6 replica),扩容到9台机器,比3台机器时,拥有3倍的读吞吐量。(3)扩容的极限,6个shard(3 primary,3 replica),最多扩容到6台机器,每个shard可以占用单台服务器的所有资源,性能最好。(1)假设 9 shard,3 node。

2022-09-06 10:01:32 178

转载 IOC的概念和原理:什么是IOC?、IOC的底层原理、图示、IOC接口介绍

什么是IOC?、IOC的底层原理、图示、IOC接口介绍

2022-09-06 09:18:25 2390

转载 微信小程序 获取用户的昵称和头像

微信小程序 获取用户的昵称和头像

2022-09-06 09:16:11 6885

转载 ElasticSearch最佳入门实践(十三)初步解析document的核心元数据以及剖析index创建反例

如果我们把很多数据都放到一个索引:product index(包含了所有的商品),sales index(包含了所有的商品销售数据),inventory index(包含了所有库存相关的数据)。(2)一个索引通常会划分为多个type,逻辑上对index中有些许不同的几类数据进行分类:因为一批相同的数据,可能有很多相同的fields,但是还是可能会有一些轻微的不同,可能会有少数fields是不一样的,举个例子,就比如说,商品,可能划分为电子商品,生鲜商品,日化商品,等等。1、_index元数据。

2022-09-06 09:10:20 78

转载 Centos7上部署安裝Redis集群(单机多节点)

安装环境Centos7redis4.0.11这里将安装官网的要求,部署6个节点,三个主节点,三个从节点。复制配置通过复制六份redis.conf配置文件,修改各个配置文件端口号来启动多个实例。规定六个实例的端口号分别为:7000,7001,7002,7003,7004,7005;1. 首先在redis的安装目录下创建一个文件夹cluster用于存放六份配置文件mkdir clustercd clustermkdir 7000 7001 7002 7003 7004 7.

2022-09-06 09:09:56 361

转载 windows环境 安装es (ElasticSearch)搜索引擎

在 es 目录中的 \plugins 目录下新建 ik 目录,然后将下载完成的 elasticsearch-analysis-ik 解压至此目录下。2.2 双击bin目录下的【elasticsearch.bat】即可启动es,默认启动后占用9200端口。在bin目录下,双击【kibana.bat】,启动Kibana。安装es之前确保系统已安装JDK(需要JDK1.8以上版本)2.1 下载es后,完成解压。启动后,通过浏览器访问 【完成后重启es,即可应用ik分词器。】即可访问kibana。

2022-09-06 09:08:37 3035 2

原创 windows php7.3安装rabbitmq扩展

我本地的是phpstudy ,在D:\phpstudy_pro\Extensions\php\php7.3.4nts\ext,rabbitmq.4.dll 放到该目录下,即和php.exe在一个目录,选择和php版本匹配的文件下载,下载后php_amqp.dll 放到php的扩展目录,我本地的是php7.3nts 64位,因此对应这里下载php7.3。我的目录是D:\phpstudy_pro\Extensions\php\php7.3.4nts。1,查看php -v。php.ini 添加扩展。

2022-09-06 09:07:57 689

转载 ElasticSearch最佳入门实践(十)2个 node 环境下 replica shard 是如何分配的

ElasticSearch最佳入门实践(十)2个 node 环境下 replica shard 是如何分配的

2022-09-05 13:41:10 65

转载 ElasticSearch最佳入门实践(九)shard & replica 机制梳理以及单 node 环境中创建 index

(8)primary shard 不能和自己的 replica shard 放在同一个节点上(否则节点宕机,primary shard和副本都丢失,起不到容错的作用),但是可以和其他 primary shard 的 replica shard 放在同一个节点上。(7)primary shard 的默认数量是5,replica 默认是1,默认有10个shard,5个primary shard,5个replica shard。(3)增减节点时,shard会自动在nodes中负载均衡。

2022-09-05 13:40:35 162

转载 ElasticSearch最佳入门实践(八)ElasticSearch基础分布式架构基础

垂直扩容:采购更强大的服务器,成本非常高昂,而且会有瓶颈,假设世界上最强大的服务器容量就是10T,但是当你的总数据量达到5000T的时候,你要采购多少台最强大的服务器啊。shard负载均衡(举例,假设现在有3个节点,总共有25个shard要分配到3个节点上去,es会自动进行均匀分配,以保持每个节点的均衡的读写负载请求)水平扩容:业界经常采用的方案,采购越来越多的普通服务器,性能比较一般,但是很多普通服务器组织在一起,就能构成强大的计算和存储能力。(1)节点对等,每个节点都能接收所有的请求。

2022-09-05 13:40:01 141

转载 ElasticSearch最佳入门实践(七)案例实战之电商网站商品管理:嵌套聚合,下钻分析,聚合分析

新增一个商品便于分析{]}

2022-09-05 13:39:42 133

转载 ElasticSearch最佳入门实践(六)案例实战之电商网站商品管理:多种搜索方式

跟全文检索相对应,相反,全文检索会将输入的搜索串拆解开来,去倒排索引里面去一一匹配,只要能匹配上任意一个拆解后的单词,就可以作为结果返回。hits.max_score:score的含义,就是document对于一个search的相关度的匹配分数,越相关,就越匹配,分数也高。phrase search,要求输入的搜索串,必须在指定的字段文本中,完全包含一模一样的,才可以算匹配,才能作为结果返回。分页查询商品,总共3条商品,假设每页就显示1条商品,现在显示第2页,所以就查出来第2个商品。

2022-09-05 13:39:17 272

转载 ElasticSearch最佳入门实践(五)案例实战之电商网站商品管理:集群健康检查,文档CRUD

1、document数据格式2、电商网站商品管理案例:背景介绍3、简单的集群管理 简单的索引操作创建 格式案例 创建案例 检索 案例 修改商品 替换文档案例 修改商品 更新文档

2022-09-05 13:38:49 169

转载 ElasticSearch最佳入门实践(四)在windows上安装和启动 ElasticSearch

7、启动Kibana:bin\kibana.bat。

2022-09-05 13:38:13 617

转载 ElasticSearch最佳入门实践(三)ElasticSearch核心概念:NRT、索引、分片、副本

primary shard(建立索引时一次设置,不能修改,默认5个),replica shard(随时修改数量,默认1个),默认每个索引10个shard,5个primary shard,5个replica shard,最小的高可用配置,是2台服务器。6、Type:类型,每个索引里都可以有一个或多个type,type是index中的一个逻辑数据分类,一个type下的document,都有相同的field,比如博客系统,有一个索引,可以定义用户数据type,博客数据type,评论数据type。

2022-09-05 13:36:34 108

空空如也

空空如也

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

TA关注的人

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