自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 开发一个HTTP模块

ngx_module_t,ngx_http_module_t,ngx_command_s,获取URI,获取HTTP包体,发送HTTP包体

2024-07-07 00:23:16 902

原创 Nginx的11个执行阶段

Nginx的11个执行阶段。

2024-06-30 19:06:46 148

原创 Nginx中封装的数据结构

在向用户发送HTTP包体时,就要传入ngx_chain_t链表对象,注意,如果是最后一个ngx_chain_t,那么必须将next置为NULL,否则永远不会发送成功,而且这个请求将一直不会结束。缓冲区,处理大数据,既用于存储内存数据,也用于存储磁盘数据。用于存储HTTP头部。

2024-06-30 17:50:44 240

原创 linux常见命令

linux awk sort sed

2024-03-18 22:01:49 1094

原创 ETCD集群运维

如下的所有运维管理都是在操作etcd的存储空间,存储空间的配额用于控制etcd数据空间的大小,如果etcd的节点磁盘空间不足了,配额会触发告警,然后etcd系统将进入操作受限的维护模式。etcd集群对于磁盘I/O的延时非常敏感,因为etcd必须持久化它的日志,当其他IO密集型的进行也在占用磁盘IO的带宽时,会导致fsync延时非常高。etcd网关监听一个固定的本地地址,每个应用程序都与它的本地etcd网关相连,这样只有etcd网关需要更新其后端服务器列表,对应用来说,后端服务器端的更新是透明的。

2023-06-24 18:12:40 1301

原创 ETCD 安全

如果不希望未授权就获取或修改etcd的数据,那么guest角色可以被持有root角色的用户在任何时间进行修改,撤销甚至删除该角色,以减少未经授权的用户的能力。在etcd中,角色主要分为三类:root角色,guest角色和普通角色。root角色具有对所有键值资源的完整权限,而且只有root角色具有管理用户资源和配置资源的权限,root角色是内置的,不需要被创建而且不能被篡改,但是可以授予任务用户相同的权限。root角色,默认创建root用户即创建了root角色,并为其绑定了该角色,该角色拥有所有权限;

2023-06-24 15:45:13 1465

原创 ETCD API V3

v2是一个key-value数据库,只保存key的最新的value,之前的value直接覆盖,但是会维护1000个所有key的变更记录,如果在短时间频繁写操作,那么变更记录会很快超过1000,如果watch过慢就会无法得到之前的变更,带来后果就是watch丢失事件。v2 是在每个key上设置TTL,v3是租约机制,然后key绑定租约,如果需要更新key的过期时间,可以直接更新租约(lease),多个key绑定到一个租约上,需要更新每个key的过期时间时,v3减少了客户端请求数量。

2023-06-24 10:45:25 1116

原创 ETCD安装部署与etcdctl常用命令

设置服务发现URL,如下例如:https://myetcd.local/v2/keys/discovery/6csfdfsdfdsfdsfswerewrwerwer,通过discovery参数来启动etcd,新的etcd实例就会自动使用https://myetcd.local的/v2/keys/discovery/6csfdfsdfdsfdsfswerewrwerwer目录进行etcd的启动注册。另外,如果初始化时启动的节点超过了指定的数量,那么多余的节点会自动转化为Proxy模式的etcd。

2023-06-18 12:09:19 2934

原创 ETCD简介

现代键值(Key - Value)存储系统,ZooKeeper是历史最悠久的项目,起源于Hadoop。这里ETCD与Zk对比。ETCD相比与ZK,更加简单,安装部署和使用更加容易,etcd的某些功能是ZK没有的。etcd更加稳定可靠在服务发现的实现上,etcd使用的是节点租约,并支持多group;而zk使用的是临时节点,临时节点存在很多问题etcd支持稳定的watchetcd支持MVCC(多版本并发控制),因为有协同系统需要无锁操作。

2023-06-17 12:08:22 2834

原创 【分布式系统与一致性协议】

但是在分布式系统内,实际上P是必然的,如果不选P,一旦发生分区错误,整个分布式系统完全无法使用了,这是不符合需要的,所以对于分布式系统,我们只能考虑当分区发生错误时,如果选择一致性和可用性。所以最后只有CP和AP系统了。

2023-06-11 10:29:53 697

转载 HTTP状态消息

转载:https://www.runoob.com/tags/html-httpmessages.html

2023-04-26 14:42:41 59

原创 用HTTP proxy module配置一个反向代理服务器

如果像Squid等反向代理服务器一样在客户端建立连接且开没有开始接收HTTP包体时,就已经向上游服务器建立了连接,例如上传一个1GB的文件,每次收到一个TCP包为2Kb,然后转发给上游,而这个整个接收1GB包过程中,服务器始终需要维护这个连接,对上游服务器的比给你发处理能力提出了要求。当客户端发来HTTP请求时,Nginx并不会立刻转发到上游服务器,而是先把用户的请求完整的接收到Nginx坐在服务器的硬盘或者内存中,然后向上游服务器发起连接,把缓存的客户端请求转发到上有服务器。如下两种效果是一样的。

2023-04-15 23:30:14 323

原创 用HTTP proxy module配置一个反向代理服务器

如果像Squid等反向代理服务器一样在客户端建立连接且开没有开始接收HTTP包体时,就已经向上游服务器建立了连接,例如上传一个1GB的文件,每次收到一个TCP包为2Kb,然后转发给上游,而这个整个接收1GB包过程中,服务器始终需要维护这个连接,对上游服务器的比给你发处理能力提出了要求。当客户端发来HTTP请求时,Nginx并不会立刻转发到上游服务器,而是先把用户的请求完整的接收到Nginx坐在服务器的硬盘或者内存中,然后向上游服务器发起连接,把缓存的客户端请求转发到上有服务器。如下两种效果是一样的。

2023-04-09 15:04:34 616

原创 用HTTP核心模块配置一个静态web服务器

以root方式设置资源路径root path;默认:root html;配置块:http,server,location,ifroot /usr/local/html } 则在请求/a/index/demo.html时,会返回/usr/local/html/a/index/demo.html文件内容以alias 方式设置资源路径alias path;配置块:location} 等价于。

2023-03-30 21:21:11 202

原创 Nginx的配置

一般情况下, worker 进程数与服务器上的 CPU 核心数相同。worker 进程负责提供服务,而 master 进程负责监控与管理这些 worker 进程,当任意一个 worker 进程出现严重错误时, master 进程会立刻启动新的 worker 进程,实现高可用worker 进程之间会通过共享内存 、 原子操作等进程间通信机制来实现负载均衡等功能。多个 worker 进程处理请求可以充分利用 SMP 多核架构,从而实现真正意义上的多核并发处理。

2023-03-30 21:20:22 274

原创 Nginx的作用

Web服务器,或者WWW(World Wide Web)服务器。具备Web服务器的基本功能:基于REST架构风格,以统一资源描述符(URI)或者统一资源定位符(URL)作为沟通依据,通过HTTP为浏览器等客户端程序提供各种网络服务。竞争对手:Apache,Lighttpd,Tomcat,Jetty,HSTomcat和Jetty面向java语言,先天就是重量级的服务器,性能与Nginx没有可比性HS只能在windows上运行,windows相比UNIX稳定性,性能都不如。

2023-03-30 21:16:12 354 1

原创 10 react-mobx学习

mobx

2022-10-07 16:10:48 460

原创 09 react-router学习

react-router

2022-10-06 18:28:42 694

原创 08 hook学习02

hook学习

2022-10-06 14:42:45 487

原创 07 hook学习01

hook学习

2022-10-06 14:41:36 448

原创 06 组件学习4

组件学习

2022-10-04 22:28:19 125

原创 05 组件学习3

组件学习

2022-10-04 22:07:11 390

原创 04 组件学习2

react组件学习2

2022-10-04 21:53:57 195

原创 03 组件学习1

react组件学习

2022-10-04 21:52:35 465

原创 02 JSX学习

jsx学习

2022-10-02 14:44:54 582

原创 01 react初识

react初识

2022-10-02 10:19:13 149

原创 2021春招前端面试总结

笔试注意点JS V8牛客网ACM模式输入while(line=readline()){var lines=line.split(’ ');var a=parseInt(lines[0]);var b=parseInt(lines[1]);print(a+b);}输出用print或console.log()Node中控制台输入输出var readline = require(‘readline’);const rl = readline.createInterface({input:

2021-11-28 13:25:45 3777 2

原创 超出省略号表示常见方式

单行超出 width: 100%; height: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;多行超出 width: 100%; height: 100%; overflow: hidden; text-overflow: ellipsis; -webkit-box-orient:vertical; -webkit-line-clamp:3; /*设置行数*/

2020-12-18 21:01:28 271 1

原创 js中的Date对象以及对应方法

Date对象创建Date对象new Date()new Date(ms)new Date(yyyy,mth,dd);new Date(yyyy,mth,dd,hh,mm,ss);new Date("month dd,yyyy")new Date("month dd,yyyy hh:mm:ss")对象方法getDate()getDay()getFullYear(),getMonth(),getHours(),getMinutes(),getSeconds(),getMilliseconds()getTime(

2020-12-17 13:16:14 185

原创 anysc与await

anysc与awaitanyscawaitanyscanysc定义的函数返回值一定是一个Promise对象。Promise的语法糖如果函数内部没有return,则返回Promise.resolve(undefined),如果有return,但是不是Promise对象,则返回Promise.resolve(a),如果有return且是Promise对象,则返回这个对象awaitawait的运用 await expression如果expression为 Promise表示为一个Promise

2020-11-11 18:47:54 869

原创 2.2 事件绑定与样式相关内容

事件绑定与样式事件绑定按钮事件input修改事件样式WXSS单位rpx样式导入选择器事件绑定按钮事件响应:bindtap,调用函数change注意:1,参数传递方式不能直接将参数放入在函数括号中,而是使用data-xxx=“{{值}}”的方式传递2,获取通过e.currentTarget.dataset.xxx获取3,修改数据不能直接用等于,而是需要调用this.setData函数实现,Page({ data: { num:11 }, change(e){ let

2020-10-28 11:01:31 163

原创 2.1模板语法——数据绑定,列表渲染,条件渲染

模板语法数据绑定运算列表渲染条件渲染数据绑定运算列表渲染条件渲染

2020-10-28 10:12:25 341

原创 1.3 应用生命周期与页面生命周期

应用生命周期页面生命周期链接: 官方文档.

2020-10-28 09:04:13 140

原创 1.2 全局配置文件与页面配置文件,sitemap配置

配置文件全局配置文件(app.json)pages字段window字段tabbar字段页面配置文件(如index.json)sitemap配置(sitemap.json)全局配置文件(app.json)pages字段放置小程序的所有页面可以通过在此添加页面保存,自动添加页面如:在app.json中添加demo1界面,刷新后目录中自动添加对应的页面文件window字段定义小程序所有页面的顶部背景颜色,文字颜色定义等等链接: 官方介绍.如果要实现loading,需要添加属性"enabl

2020-10-28 08:34:32 448

原创 1.1 微信小程序开发环境与准备,项目初始化及文件目录

微信小程序开发环境与准备注册账号Appid微信开发者工具初始化项目使用测试号使用自己的appid文件目录注册账号链接: 微信公众平台.邮箱要求:与微信无关,未与微信绑定注册后邮箱验证,然后输入个人信息,验证成功后,注册成功!Appid后期使用微信小程序的接口等功能需要获取开发者小程序中的appid查找方式:登陆——>开发——>开发设置——>appid(小程序id)微信开发者工具链接: 微信开发者工具.根据电脑选择合适版本下载安装初始化项目使用测试号在appid

2020-10-28 07:49:54 467

原创 vuejs学习7.2 axios基本使用

axios基本使用axios请求方式axios使用安装简单使用axios发送并发请求全局配置常见的配置选项axios实例axios封装axios拦截器axios请求方式axios(config):默认为get请求axios.get(),axios.post(),axios.delete()等等axios使用安装npm install axios --save简单使用导入axios,然后调用,默认为get请求import axios from 'axios'axios({ url:'

2020-10-28 07:17:14 155

原创 vuejs学习7.1 网络请求选择

这里写目录标题网络请求模块选择jsonpJSONP的封装axios特点网络请求模块选择选择一:传统的Ajax是基于XMLHttpRequest为什么不用:配置调用方式混乱,编码复杂选择二:jQuery-Ajax相对于传统的Ajax非常好用为什么不选择:整个Vue开发中都不需要jQuery,为了网络请求引入jQuery不合理选择三:官方在Vue1.x时退出Vue-resource体积相对jQuery小很多,但是Vue2.x后不再更新vue-resource,以后的项目开发维护存在隐患选择四:

2020-10-28 07:16:50 130

原创 vuejs学习6.1 Vuex,state

VuexVuex概念状态管理管理什么状态单页面状态管理Vuex使用添加插件使用Vuex步骤Vuex状态管理图例Vuex概念Vuex是一个专为vuejs应用程序开发的状态管理模式,他采用集中式存储管理,状态可以理解为变量状态管理理解为多个变量需要共享,可以创建一个对象看作一个管家,多个组件需要使用时进行获取,集中式存储管理即一起管理状态(变量)这个管家对象数据是响应式的可以自己封装一个对象来实现变量共享,但是无法做到响应式,所以创建了Vuex管理什么状态多个组件共享状态:例如登陆状态,用户名

2020-10-13 10:53:15 120

原创 vuejs学习6.2Vuex——getters,mutation,action,module与文件目录

属性gettersmutations定义与更新方式参数问题提交风格getters类似于单个组件中的计算属性默认参数为state,参数可以添加getters,但是不能添加其他在store中定义gettersgetters:{ powerCounter(state){ return state.count*state.count; } },使用时:<h2>{{$store.getters.powerCounter}}</h2>state

2020-10-13 10:53:02 383

原创 JavaScript使用对象

使用对象创建对象操作对象引用对象赋值对象销毁对象操作属性定义属性访问属性赋值和删除属性使用方法使用默认原型方法toString()使用valueOf()检测私有属性使用原型原型属性和本地属性创建对象1,使用构造函数创建对象var name = new Object();创建空对象var name = new Array();使用内置构造函数创建对象也可以自定义对象如下Boxfunction Box(w,h){ // 构造函数 this.w = w; // 构造函数的成员

2020-09-16 19:12:24 496

空空如也

空空如也

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

TA关注的人

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