自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

stark张宇

在大同的时间里 创造一点大不同。

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

原创 PHP - ZipArchive上传、下载实例

在很多实际生产场景都需要批量上传、下载一些文件的处理,整理了使用PHP语言操作ZipArchive实践和实例,ZipArchive需要服务器上安装zlib库,php扩展中安装zip扩展。因为时间关系,乱码或者是其他别的一些知识,等之后抽时间在更新,编码不易,全靠硬挤,加油吧。

2024-03-27 09:25:37 442

原创 linux - 进程和服务(上篇)

接着之前的Linux系列篇,第二篇主要介绍进程和服务,从进程到服务,由浅入深的知识系统的介绍。

2024-03-10 20:45:52 1044

原创 Mysql - is marked as crashed and should be repaired

上周发生了一个Mysql报错的问题,今天有时间整理一下产生的原因和来龙去脉,Mysql的版本是5.5,发生错误的表存储引擎都是MyISAM,产生的报错信息是。

2024-03-07 09:29:15 450

原创 Linux - 数据流重定向、管道符、环境变量配置文件的加载

想了解Linux编程,shell脚本是绕不开的关键知识点,原计划写一个整篇来分享shell的来龙去脉,但知识点过于繁杂,先分享一下学习shell的准备工作,数据流重定向、管道符、环境变量配置文件的加载,有助于知识更好的理解、再实际生产中的运用。

2024-01-27 16:00:46 422

原创 优化 - 重构一次Mysql导致服务器的OOM

优化了一次前后端处理不当导致的CPU的一次爆机行为,当然,这和服务器的配置低也有着密不可分的关系,简单的逻辑学告诉我们,要找到真正的问题,进行解决,CPU爆机的关键点在于前后端两个方面,下面针对具体的问题,进行分析和解决。

2024-01-13 13:24:26 510

原创 svn - 配置账号、自动更新、配置log权限

虽然已经有很多朋友的公司都不使用svn了,但也有很多朋友的公司在使用,统一整理了svn的配置账号、自动更新、配置log权限,常用的操作知识。

2024-01-12 13:35:29 777

原创 Linux - Linux文件、目录、磁盘模式的知识点

本系列博客一共4篇,是对Linux系统知识的查漏补缺,Linux文件、目录、磁盘模式的一次扫盲知识点,下一篇学习shell的知识点。

2024-01-06 21:18:15 604

原创 PHP特性知识点扫盲 - 下篇

在实际的生产环境中遇到了实际需要解决的问题,需要把服务部署的方式梳理出来,在同一个服务器中部署多个PHP环境

2024-01-01 12:58:28 545 1

原创 PHP特性知识点扫盲 - 上篇

之前在分析thinkphp源码的时候,对依赖注入等等php高级的特性一直想做一个梳理和总结,一直没有时间,好不容易抽一点时间对技术的盲点做一个扫盲和总结。

2023-12-30 11:57:17 616

原创 通用管理后台项目笔记 - Vue3+Vite安装环境、封装路由

从0打造通用的后台管理系统,系列的第一篇博客,开发环境Node+Yarn+Vite的开发环境,这是记录的学习笔记。

2023-10-31 09:00:10 385

原创 thinkphp6.0 底层源码分析 - 类的自动加载、配置文件初始化

因为工作的需要,深入研究了一下thinkphp的源码,也算是对php知识的一个回归,工作这么多年,我一直坚信php是最好的Web编程语言,它可以做到成本和效率的一个平衡,知其然,更要知其所以然才是高手修炼之道。

2023-10-31 08:57:53 627

原创 linux - 简单上传下载文件(lrzsz、scp)

在新建的服务器大搭建环境中,偶尔会遇到一些临时改动的问题,比如想把本地文件传输到远程服务器,或者是下载远程服务器的文件,介绍lrzsz和scp命令进行文件的上传和下载,我本地的开发环境是mac本,如果是windows lrzsz命令支持的会更好。

2023-10-20 17:07:35 417

原创 Git - 导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法

本次集中总结了Git4个常规操作,导出(archive)、忽略(gitignore)、隐藏(Stash)、合并冲突(merge)的解决方法,希望帮助到正在辛苦寻找的你。

2023-10-20 17:06:50 1477

原创 【已解决】Operation timed out 问题

今天遇到了这样一个有点奇葩的问题,再阿里云服务器上部署了Mysql服务,再使用NaviCat的过程中链接不上,connect to address IP地址: Operation timed out,最后是服务器防火墙的问题。但我遇到的一个问题非常诡异,当我重新打开防火墙的时候,NaviCat客户端可以正常连接,但是浏览器不能正常访问了,(我猜测开启防火墙需要把80端口也加入到防火墙)后来我又关闭了防火墙,使用安全组策略来管理端口,剩下的留着后续有时间再进行优化。

2023-10-08 17:07:40 957

原创 微信小程序:uniapp解决上传小程序体积过大的问题

在昨天的工作中遇到了一个微信小程序上传代码过大的情况,在这里总结一下具体的解决步骤,首先介绍一下,技术栈是使用uniapp框架+HBuilderX的开发环境。

2023-09-25 10:22:11 1578

原创 Go微服务实践 - Rpc核心概念理解

从0研究一下Golang已经Golang的微服务生态体系,Golang的微服务首先要从Rpc开始,在升级到Grpc,详细介绍这些技术点都在解决什么技术问题。

2023-08-07 16:16:42 814 2

原创 Tcp是怎样进行可靠准确的传输数据包的?

很多时候,我们都在说Tcp协议,Tcp协议解决了什么问题,在实际工作中有什么具体的意义,想到了这些我想你的技术会更有所提升,Tcp协议是程序员编程中的最重要的一块基石,Tcp是怎样进行可靠准确的传输数据包的呢?看过很多文章里都提到过Tcp协议的三次握手,在这里我要进行系统的整理一下,学习不能人云亦云,要真的去明白其中的道理,下面是一张理解Tcp/Ip的协议图。

2023-08-07 16:15:25 704

原创 Swoole - 为什么说Swoole中小型企业微服务的首选技术方案

Swoole的出现,使PHP语言不再局限于传统的 Web领域,对中小企业有很好的支持,有一些企业盲目的追求微服务和K8s,我真诚建议不要轻易上微服务,上了你才知道这里面的辛酸,高成本、低效率会拖碎整个团队,研究中小企业的提效、节省成本是我未来的研究的新方向。

2023-05-16 14:43:14 443

原创 消息队列中间件 - RabbitMQ消息的持久化、确认机制、死信队列

死信队列 DLX(Dead-Letter-Exchange) 也可以成为死信交换机,就是当一个队列中的消息变成死信以后,会被重新发送到另一个交换机,这个交换机就是DLX,而绑定DLX的队列就是死信队列。

2023-05-16 14:41:02 481

原创 消息队列中间件 - 详解RabbitMQ6种模式

对RabbitMQ 6种工作模式(简单模式、工作模式、订阅模式、路由模式、主题模式、RPC模式)进行场景和参数进行讲解,PHP代码作为实例。

2023-05-08 18:11:53 746

原创 消息队列中间件 - Docker安装RabbitMQ、AMQP协议、和主要角色

不管是微服务还是分布式的系统架构中,消息队列中间件都是不可缺少的一个重要环节,主流的消息队列中间件有RabbitMQ、RocketMQ等等,从这篇开始详细介绍以RabbitMQ为代表的消息队列中间件。

2023-05-06 17:42:54 786

原创 微服务 - Kong Http Api 实现负载均衡、jwt认证、限流、黑白名单

使用Kong的第一步是激活链接,登录Kong管理后台,找到 Connections,把Kong的Api链接上,因为我本地的端口进行了映射,所以需要找到Docker的network 上的ip,进行绑定, ip 地址。相较于权限验证,Kong的限流就比较简单了许多,Kong采用计数器的形式进行限流。用户名密码的认证方式,在Konga的Consumers添加就可以了。Kong的黑/白名单功能是根据限制ip实现的。配置Route的时候,paths参数必须以。1.添加jwt认证操作组件操作。

2023-05-06 17:41:27 735 1

原创 微服务 - kong安装,API网关设计(原理篇)

微服务实践的第二个关键组件,微服务API网关设计,API网关是对微服务做统一的鉴权、限流、黑白名单、负载均衡等功能实现,这篇我们先来介绍Api网关的意义和安装kong/konga需要的组件。

2023-04-26 17:41:25 600

原创 微服务 - 搭建Consul集群服务,Consul配置中心

配置中心如何解决的呢?配置中心的思路是把项目中的配置参数全部放在一个集中的地方来管理,并提供一套标准的接口,当各个服务需要获取配置的时候就来拉取信息,当配置中心有更新的时候,也能通知其他服务,实时同步最新消息。server1 basic.json详细参数,执行命令。server2 basic.json详细参数,执行命令。server3 basic.json详细参数,执行命令。补充一下单点服务器Consul集群的步骤,我的虚拟机。

2023-04-22 21:28:03 777

原创 微服务 - Consul服务注册中心

上篇说到构建良好的架构,依托于基础设施建设(自动化测试、自动化部署、服务监控,服务发现、配置中心等等),决定成败的往往是基础设施建设,所以从搭建一个注册中心和配置中心开始我们新一阶段的启程。使用PHP、和Go编写,使用Consul作为注册中心和配置中心比较方便,所以我选用的是Consul。采用Raft算法实现,有服务发现,Key/Value存储,可以做配置中心使用,有健康检查,并提供了web管理页面。TCP/8300:8300端口用于服务器节点,客户端通过RPC协议调用服务端节点。

2023-04-22 21:27:04 1391

原创 Redis高可用高性能缓存的应用系列06 - 热Key,大Key,并发竞争解决方案

现在被谈论最多的就是微服务和中台系统,我个人的理解是微服务或者是中台好不好,主要看实际的业务场景,架构的变迁往往需要耗费很大的学习成本和时间成本,所以更改架构的时候要三思而后行,适合自己特别重要。

2023-04-22 21:25:21 795

原创 微服务 - 拆分微服务的问题和拆分方法

现在被谈论最多的就是微服务和中台系统,我个人的理解是微服务或者是中台好不好,主要看实际的业务场景,架构的变迁往往需要耗费很大的学习成本和时间成本,所以更改架构的时候要三思而后行,适合自己特别重要。

2023-04-22 21:23:41 1510

原创 Redis高可用高性能缓存的应用系列1 - 数据类型以及底层结构和原理

介绍redis缓存原理与设计执行流程,单线程的处理方式是高效的原因,以及redis数据类型以及底层结构和原理进行说明,这对我们使用Redis有很大帮助。

2023-04-11 18:12:55 402

原创 Redis高可用高性能缓存的应用系列03 - 缓存过期淘汰策略LRU、LFU

Redis高可用高性能缓存的应用系列的第3篇,主要介绍Redis缓存过期淘汰策略和内存淘汰策略回收的LRU和LFU的知识点进行说明。

2023-04-11 18:11:25 645

原创 Redis高可用高性能缓存的应用系列2 - 事务机制和IO多路复用、持久化

Redis高可用高性能缓存的应用系列的第二篇,主要介绍Redis事务机制和IO多路复用、和持久化的知识点。

2023-04-11 18:10:49 410

原创 Mysql高可用高性能存储应用系列4 - 分库分表、中间件

为什么要分库的原因:1)很多时候接口性能慢都是数据库造成的,2)并发量比较大时,大量的数据库请求,会带来磁盘I/O的性能瓶颈,3)来越多,导致sql查询数据,即使走了索引也比较慢。

2023-03-31 18:26:11 442

原创 Mysql高可用高性能存储应用系列3 - mysqld_multi配置主从集群

主从复制要解决的问题,1)写操作锁表,影响读操作,影响业务。2)数据库备份。3)随着数据增加,I/O操作增多,单机出现瓶颈。主从复制就是从服务器的主节点,复制到多个从节点,默认采用异步的方式。

2023-03-31 18:24:58 311

原创 Mysql高可用高性能存储应用系列2 - 深入理解锁和Mvcc

Mysql数据库在处理并发中下了很多功夫,锁是为了更好的保护数据的正确和可靠,Mvcc是维持一个数据的多个版本,使得读写操作没有冲突的解决并发的数据库方案。

2023-03-31 18:22:27 368

原创 微服务 - Go语言从单体服务到微服务(设计方案篇)

微服务是一种思想,与编程语言无关,编程语言是思想下具体的一种实现方式,怎么设计架构方案和实现主要看主要面临的业务场景。

2023-03-23 12:03:39 354

原创 Mysql高可用高性能存储应用系列1 - 索引篇

假如一个表中有500w数据,层级还是会很深,这样查询数据的时候,磁盘I/O还是会很多,(2)数据从小到大依次分布在树的不同层级中,进行范围查找时,获取范围越大,获取的节点就越多,极端情况下所有的数据全部遍历一遍,相当于遍历了整颗树,节点越多,I/O操作就会越多,性能就会卡主。访问磁盘相当于是I/O操作,Mysql中有一个页(page)的概念,一个page就是树中的一个节点,每次Mysql就会取出一个page也就是一个节点的数据,而mysql默认一个page保存16k的数据。这个过程就称为回表。

2023-03-20 22:59:32 300 1

原创 微服务 - go-zero api请求调用rpc服务

本地使用etcd注册rpc服务,这个部分文档主要编写api使用、api调用rpc服务,下次文档更新使用mysql和redis缓存部分。

2023-02-28 14:40:00 1275

原创 docker - 搭建redis集群和Etcd

由于业务需要,需要把之前的分布式架构调整成微服务,把老项目迁移到k8s的服务中,再开始编码之前,需要再本地环境里做相应的准备工作,使用docker搭建redis集群,Etcd主要是注册本地的rpc服务。

2023-02-28 11:25:55 585

原创 Nginx - 深入理解nginx的处理请求、进程关系和配置文件重载

Nginx的系统学习整理的第三篇博客,主要介绍nginx的应用场景和架构基础,以便更好的理解,再生产环境中进行性能调优。

2023-02-12 19:53:00 1056

原创 Docker - docker-compose方式搭建高效的开发环境

在本地开发机上使用docker的同学你肯定有这样的烦恼,搞了一堆命令来启动docker,错了一个字母就需要重来,非常的不方便,让人抓狂,解决这种烦恼使用docker-compose就可以迎刃而解了。

2023-02-09 13:39:10 686

原创 Ningx - 源码安装Nginx已经编译时error解决办法

nginx是一款非常好用的反向代理服务器,web服务器,很多人都在使用nginx作为网络服务器,要知其然还要知所以然,所以源码安装是一切实践的基础,让我们动手搞起来。

2023-02-08 13:42:37 499

空空如也

空空如也

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

TA关注的人

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