自定义博客皮肤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张宇

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

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

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

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

2023-02-28 14:40:00 1542

原创 docker - 搭建redis集群和Etcd

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

2023-02-28 11:25:55 607

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

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

2023-02-12 19:53:00 1095

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

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

2023-02-09 13:39:10 720

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

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

2023-02-08 13:42:37 555

原创 PHP - php7扩展安装的完全攻略 swoole、yaf、grpc

这篇是php7源码系统攻略的第三篇,是对之前的知识和补充,踩了很多坑,鏖战了数天才完全通关,下面带你安装常用的扩展,以及和。php的扩展可分为3类,原生自带、pecl官网、和老旧的疑难杂症包。

2023-02-07 14:27:42 642

原创 GItOps - k8s的微服务实战1 - 构建业务镜像

在学习了容器化、docker和k8s的 Ingress-Nginx 、server 和pod 知识后,开启了 k8s的微服务实战第三篇,在搭建环境废了一点周折,这次实战的目的是集成在gitlab里,实现自动打包、发布的功能。Mac M2芯 搭建k8s(minikube)超详细实战Mac M2芯 搭建k8s(kubeadm)超详细实战最后一点也是我最想说的地方,中间过程错了好多次,每一个都很诡异,最后终于都克服了,看到这里的小伙伴加油呀,别放弃,一切会好,可以把这个做为基础,这些都是差不多的,原理都是一样的。

2023-02-03 15:42:06 730 1

原创 Mac M2芯 超详细k8s集群实战 - kubeadm

我们准备搭建kubeadm的master+worker集群,实现k8s集群,master、worker在虚拟机上来执行,中间遇到了超级多的坑,都搞定了之后,在这里系统的总结一下,这也是一篇学习笔记。

2022-12-26 15:05:22 4082 5

原创 Mac M2芯 k8s(minikube)超详细实战 - 单节点部分

我使用的电脑是Mac pro M2芯的,使用的虚拟环境是 Ubuntu 22.04 ,M2芯兼容性不是特别好,所以尽量跟我博客中的版本保持一致。虚拟机环境 Ubuntu 22.04。

2022-12-21 09:33:02 2341

原创 Python数据分析入门与实践

Python数据分析主要基于Pandas的Serise和DataFrame去实现,Serise和DataFrame有点像php里的数组,在数据科学里叫矩阵。把数据使用Pandas进行采样和机器学习计算,在使用Matplotlib/Seaborn来画图实现。

2022-12-12 18:12:46 1183 6

原创 妙用schedule执行php脚本定时任务

妙用schedule来执行计算机的定时任务,用命令行接收参数的方式对同一组用户进行不同的操作。

2022-11-15 13:11:55 552

原创 Flask 实战笔记3 - SQLAlchemy实现mysql编码、列类型

在SQLAlchemy 对Mysql实现了基本操作以后,我发现设置出来的默认值没有生效,字符集编码也被设置成了默认的latin1,这节课就来解决这些问题。

2022-11-13 13:01:55 962 1

原创 Flask 实战笔记02 - SQLAlchemy实现mysql的应用

对web的路由完成后,我们开始对数据库的增删改查进行进一步的实践和探索,flask使用SQLAlchemy进行对数据库的操作,这里我们以Mysql数据库为例。

2022-11-09 11:30:24 679

原创 Flask 实战笔记01 - Blueprint实现Web路由器

Flask 原理是在App初始化时,将蓝图和App进行绑定来实现Web路由功能,路由的实现是所有项目中的第一步。

2022-11-03 15:24:27 268 2

原创 2022年Q4 - 2023年Q1

人工智能和AI的概念早已经很多了,开始认真的去学习和研究所谓的推荐系统,从4月份开始接触python,到学习了一段时间的flask框架。

2022-10-18 11:02:36 682

原创 Rust - axum(01)分离路由模块

网上有很多axum框架的教程,但是都不是那么详细,根据业务的需求,准备把原有的分布式更换成以Rust axum 的web微服务,认真记录当前的每一步拆解,供朋友们交流和学习。

2022-08-17 09:43:46 1936

原创 与tcp协议有关的几个知识点

在Linux中,这个设置是由内核参数net.ipv4.tcp_syn_retries控制的,默认值为6,一个空的TCP连接会消耗3.3KB左右的内存。

2022-07-29 13:15:51 686

原创 MongoDB - 千万级数据脚本过滤笔记

根据业务部分的需要,有一部分用户对进行刷评论来获取成就的行为,所以对全量评论对不合格的运算,进行标记,全量评论大概有2450w左右,之前的评论使用Mysql进行分表处理,后台使用MongoDB进行数据聚合,大概情况是这样。...

2022-07-27 17:21:37 870

原创 centos安装jq工具

因为环境是Docker安装的,有时间安装了很好用的工具在重启后容易丢失,所以在这里做个备份,安静jq工具。

2022-07-20 10:13:03 2528

原创 正则表达式学习笔记

校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。

2022-07-01 16:14:43 854

原创 2022 Q2 - 提升技能的技巧总结

Q2的学习有一点散,有点不成体系,主要是围绕着工作的需要进行了学习,C、Rust、Python、Es,主要学了这几天编程语言和NoSql的学习。

2022-06-30 14:20:31 241

原创 Docker - 私有云、数据卷、网络

云服务已经成长为一个技术绕不过去的既成事实,仓库的管理、数据的应用、管理和安全,容器间的通信,充分的学习这些技术,是实现微服务的基础。

2022-06-24 18:11:42 466

原创 elasticsearch - Request Body Search、Mapping

这是关于elasticsearch学习的第4篇博客,本篇带大家了解一下Request Body Search 、Mapping 和 Template 的基本使用。

2022-05-29 11:57:50 288

原创 elasticsearch - 倒排索引、Analyzer分词、Search Api

这是关于elasticsearch学习的第三篇博客,本篇带大家了解一下倒排索引、Analyzer分词、Search Api的基本使用。

2022-05-25 21:52:32 214

原创 elasticsearch - 节点、集群分片及副本、CRUD

对elasticsearch节点、集群分片及副本概念的基本陈述、编写CRUD、文档的批量操作的使用文档。

2022-05-24 10:23:51 389

原创 elasticsearch - 索引、文档和RESTApi

对 elasticsearch 索引、文档和RESTApi 等概念进行的阐述

2022-05-23 12:06:46 181

原创 Docker - docker-compose安装ELK

概述使用的是docker-compose方法安装elk组件,对这部分的内容进行一个知识上的补充,在这里把之前的Docker文章拿出来做个学习的索引,以方便刚刚接触的同学,那让我们开始吧。Docker 环境下部署高可用集群实践Docker构建PHP7自定义Dev环境扩展教程单独搭建部署应用服务(Nginx+Php+Mysql+Redis)Dockerfile、数据存储volume、网络通信docker-compose 基本使用启动服务docker-compose up //启动守护进程

2022-05-21 12:32:38 2201

原创 致未来的路 - 思考、方向和实践

概述好久没有更新博客了,因为疫情的原因被集中隔离在集中隔离点,今天想整理一下最近学习的知识点,做一个小的节点总结,对工作和职业有控制力,就会多一点安全感。我的职业目标以后向 性能优化 和 侧重于解决问题的系统方案架构师。编程语言首先我先优化了一下自己的编程语言结构,编程语言更像是一个实现方案的工具,PHP擅长解决Web服务,Java属于编程语言中的坦克,偏向解决各种服务,以稳定著称,公司内部在研究Rust,我眼前也在研究Python。下面是我准备学习的方向:php -> 自研swoole框

2022-04-20 10:26:52 257

原创 Rust - 使用模块、泛型、所有权

概述模块化编程,是强调将计算机程序的功能分离成独立和可相互改变的“模块”的软件设计技术,它使得每个模块都包含着执行预期功能的一个唯一方面所必须的所有东西,复杂的系统被分割成小块代码块的独立代码块。Rust项目的代码组织包含以下三个基本概念:Package(包)Crate(箱)Module(模块)PackagePackage 用于管理一个或多个Crate,创建一个Package的方式是使用cargo new stark命令:[root@b0b5a9371ce4 stark]# tree.

2022-04-09 21:41:22 789 1

原创 Rust - 流程控制、函数

概述这篇是学习Rust的第二篇博客,在所有的编程语言里都离不开流程控制的模块,流程控制的模块包括条件语句和循环两部分。rust初试 - 安装环境、基本类型if elseRust的if的布尔条件不用括号括起来。if所有分支返回的类型必须相同。fn main() { let number = 3; if number < 5 { println!("条件为 true"); } else { println!("条件为 false");

2022-04-06 10:22:26 536 4

原创 怎么保证创建和修改数据的幂等性?

幂等性名词解释什么是幂等呢?一个幂等操作的特点是,1次和任意N次执行所产生的影响均与一次执行的影响相同。理论上讲,正常的接口都是具有幂等性的,但所有的问题都发生在网络抖动和异常的情况下。比如:一条新增的请求被反复执行?或者是多个请求同时修改一条的数据?比如刚刚好是fullGC,是这样了…你怎么解决?定位问题这个接口是接收离线消息服务的接口,验证了用户身份,产生情况可能的原因:系统或者框架不稳定,造成的重试代码写的有问题,循环中有重试的情况正好赶上内存溢出,服务崩溃,Tcp进行的重试解

2022-03-25 15:27:38 1172

原创 rust初试 - 安装环境、基本类型

环境准备阶段安装Rust环境安装命令:curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | shsource $HOME/.cargo/env //设置环境变量rustc --version //查看安装版本CargoCargo 是 Rust 的构建系统和包管理器。Rust 开发者常用 Cargo 来管理 Rust 工程和获取工程所依赖的库。Cargo 就是Vue里面的npm,php里的composer。cargo r

2022-03-22 09:22:36 924 2

原创 PMQ - 推送项目上线一年后的总结和复盘

概述项目使用Swoole+Redis,更新迭代了4版,从最初的消息提醒、到后来的客服系统,它终于慢慢的长大了,具备了可持续推送的能力和动力,我要总结一下其中的酸甜苦辣。PHP的运行模式的生命周期来讲一种有2种,一种是fpm的,这种模式下,主要编写Web服务,一种是Cli模式的,Swoole是php7版本之后的神作,可以说它开启了php也可以提供更多的网络服务的可能。学习了源码后,发现php7真的是划时代的一个产品,重构了数组(从物理Hash链路调整成逻辑链结构)、字符串(二进制安全)、新增了Ast(抽

2022-03-19 07:29:22 3294 10

原创 2022 Q1 - 提升技能的技巧总结

行情概述大厂开始新一轮的裁员,互联网的浪潮开始减退已经是不争的既定事实,但我觉得这不是什么决定性的因素,职业本身就是成锥形分布,越往上层需要的人越少,怎么在行业重新洗牌的阶段,抓住机会,迎难而上才是出路。这里我分享几个最近总结的技巧,分享给大家。DockerDocker是很快捷方便的部署工具,它的好处在于提供了开发的便利和条件,搭建环境,如果你对Docker比较陌生,建议你可以使用操作系统+软件的方式来部署你的环境,比如我在研究PHP7源码的时候,就使用了Centos7+php7,顺便试试php5.

2022-03-15 15:35:28 5646 1

原创 Web性能优化 - Http2 HPACK头压缩带来的优化思路

实际痛点用户增长带来的痛点就是每逢流量高峰期带宽和响应时间就成了高并发流量的超级痛点,Cpu使用率飙升,升级带宽和配置是一笔不小的开销,如何解决在不改变服务器的配置下,改善性能和带宽的好办法?思路来源解决问题的思路灵感来源是基于Http2的协议知识,所有知识的改变都是为了提升计算机的硬件使用率达到一个合理的刻度,只到无法优化的程度。Http2 HPACK 减少 HTTP 头部的大小,三种压缩方式,分别是静态字典、动态字典和使用:Huffman 编码压缩算法。客户端和服务端先协议好key/value

2022-03-14 17:25:01 711 2

原创 php源码03 - php运行的生命周期

概述这是源码php7系列的第三篇文章,主要介绍PHP运行的生命周期、FastCGI、Fpm和Nginx的调用,彻底学透底层知识是解决问题的根本。php7编译安转、新特性基本变量与内存管理机制CLI模式下的生命周期CLI模式小生命周期:模块初始化阶段->请求初始化阶段->脚本执行阶段->请求关闭阶段->模块关闭阶段1.php初始化部分函数调用1.对sapi_globals中的成员变量做初始化(sapi_initialize_empty_request)2.调用s

2022-02-28 14:13:13 750 6

原创 php源码02 -基本变量与内存管理机制

概述这是源码php7系列的第二篇文章,主要介绍变量的机制和内存的管理,我相信学习源码是对代码整体提升的有效手段,话不多说,开始吧!php7编译安转、新特性变量实现1. 解密zvalzval 底层结构:struct_zval_struct { zend_value value; //8个字节 union u1; //4个字节 union u2; //4个字节}对于vue来说是一个联合体,zval一共16个字节,u1 4个字节,u2四个字节,value结构体如下:

2022-02-26 19:18:20 579 10

原创 php - 解决百万级全站用户消息推送问题

问题场景描述基于Swoole的WebSocket服务对站内的消息进行的推送,有个全站进行站内消息的推送很棘手,因为峰值的用户服务1600+/QPS,服务器的配置2核8G(的配置)。难点在于:Http的服务是接收主站的请求,需要及时返回,响应时间不能久。Redis的执行时间不能太久,(Redis是单进程)慢请求会卡主其他的使用。百万级用户场景,全站用户发送时间不定旧版本是Crontab实现的,因为后台直接请求websocket服务改动大以上诸多难题。解决思路难题有两个思路,先从业务场景分

2022-02-22 18:28:14 3630 14

原创 PHP源码01 - php7编译安转、新特性

环境搭建虽然php8已经上市,但是系统学习一下php7,初衷的打算是想彻底的掌握PHP的底层原理和语言结构,结合PHP开发PHP扩展、或者是编写一个Swoole的框架,解决实际生产的性能问题,解放生产力,发展生产力!环境可以是centos ,或者是在Ubuntu系统中,对于裸镜像需要安装命令yum update(centos),apt-get update;(Ubuntu)我的实验环境是以centos7环境。首先进行环境搭建,用Docker搭建的centos7,php选用版本,下载php源码,比如:

2022-02-19 22:38:59 1512 18

原创 解决Mac中的Docker宿主机与容器不能通信问题

问题说明解决:Mac中的Docker宿主机与容器不能通信!之前我遇到一个问题,好久不能得到解答,前几天终于茅塞顿开,为此我在放假期间,特意学了一遍Docker,Dockerfile、数据存储volume、网络通信 从数据卷、网络方面入手,我当时所困惑的问题是为什么用客户端从外网可以访问,但是我容器中的PHP代码不能访问呢?访问代码:$redis = new Redis();try{ $redis->connect('172.17.0.4',6379 ); echo "Conn

2022-02-17 11:34:10 4869 6

空空如也

空空如也

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

TA关注的人

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