自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Zuul 网关原理及其配置

本文从 Zuul 网关的原理、使用场景和配置过程三个方面详细介绍了 Zuul 网关的相关知识。可以看出,Zuul 的过滤器链是整个网关的核心部分,通过添加不同的过滤器,可以实现不同的功能,比如鉴权、转发、限流等。同时,通过合理地配置路由规则,可以将请求快速地转发到相应的后端服务中,实现负载均衡和服务治理的功能。在实际开发中,我们可以根据不同的需求,灵活地运用 Zuul 网关服务,构建高可用、高并发的分布式应用系统。

2024-04-09 17:46:32 859

原创 ES6中的解构赋值

从上面的伪代码可以看出,对于在obj对象的三层嵌套的属性,使用对象的解构赋注操作,将其值赋给自定义变量obj1,这样在后面每次使用该属性时,只需要用obj1代替即可,不用重复写obj.xxx.xxx.xxx。如果变量多了则多出的没匹配上的变量是undefined,如果变量少了则只赋值对应的变量。对象的解构不是按照顺序的,而是匹配key和变量名是否一致,如果一致,则把key对应的value赋值给变量。在实际的开发中,解构赋值主要有两种使用场景,第一种是对数组进行解构赋值,第二种是对对象使用解构赋值。

2024-04-09 17:38:51 96

原创 Nginx与HAProxy会话保持的区别(二)

上文中我们提到,Nginx的第三方模块nginx-sticky-module支持的会话保持,当第二次请求携带第一次请求响应的Nginx插入的Cookie标识时,Nginx会将该请求转发至后端特定的服务器,此时后端的服务器收到的请求头会包含该Cookie标识。由上图可以看出,HAProxy在后端backend中,使用"insert indirect"模式,配置了名为"SRV"的cookie标识,而"cookie e164****e7ad"即表示每一个后端服务器对应的cookie标识值。

2024-04-09 17:38:10 894

原创 使用事件溯源机制构建主备高可用服务

但服务重启了数据怎么恢复呢?问题来了,当事件日积月累过多怎么办呢,这样恢复时间太长了,数据库或者redis都有snapshot功能,akka也有类似机制,使用snapshot可以大大加快数据状态的恢复时长,关于akka的使用,请期待下次更新。这样的机制非常方便我们做高可用,比如我们可以在节点1把事件同步给节点2,然后节点2接收到节点1的事件后直接应用修改状态,这样当节点1当机后节点2的状态是跟节点1的状态是一致的,是不是有点类似mysql复制或redis主从复制?是的,我们应用程序也可以做成这样的。

2024-04-08 15:26:01 224

原创 SRE基础——概述

通常,S服务的可用性,延迟,性能,效率,变更管理,监控,紧急响应和容量规划方面具有特殊的专业知识。对于团队成员可以花多少时间在“琐事“上有一个硬性限制,相对于工程方案维持在50%——一种明确的声明和启用机制,对于采用基于工程的方法来解决问题,而不是一遍又一遍地解决问题,要有用得多。没有一种好的方法来管理一项具有一个针对SRE的工具以及一个针对产品开发人员不同的工具的服务,并且在不同情况下的行为不同。SRE 的目标是构建可扩展和高可用的软件系统,通过软件工程的方法解决基础设施和操作相关的问题。

2024-04-08 15:25:27 278

原创 k8s ingress介绍以及使用ingress实现灰度发布

例如,你可以这样做: kubectl apply -f my-ingress.yaml 这个命令会创建一个名为my-ingress的Ingress资源,并且通知Ingress控制器来更新它的配置。• nginx.ingress.kubernetes.io/canary-by-header-value:要匹配的 Request Header 的值,用于通知 Ingress 将请求路由到 Canary Ingress 中指定的服务。灰度发布(又名金丝雀发布)是指在黑与白之间,能够平滑过渡的一种发布方式。

2024-04-08 15:24:42 653

原创 分布式任务调度框架PowerJob简介

PowerJob由调度服务器(powerjob-server)和执行器(powerjob-worker)两部分组成,powerjob-server负责提供Web服务和完成任务的调度,powerjob-worker则负责执行用户所编写的任务代码,同时提供分布式计算能力。

2024-04-08 15:23:57 731

原创 Go中的变量(三)

内置的new函数是另一种创建变量的方式。表达式new(T)创建一个未命名的T类型变量,初始化为T类型的零值,并返回其地址(地址类型为*T使用new创建的变量和取其地址的普通局部变量没有什么不同,只是不需要引入(和声明)一个虚拟的名字,通过new(T)就可以直接在表达式中使用。因此new只是语法上的便利,不是一个基础概念。例如,下面两个newInt每一次调用new这个规则有一个例外:两个变量的类型不携带任何信息且是零值,例如struct{}或[0]int,当前的实现里面,它们有相同的地址。

2024-04-08 15:05:39 380

原创 云电脑开发日记(二):客户端与html页面通信

/注册通信类//注册通道其中,自定义的通信类需要继承QObject类,如下//引入qwebchannel.js,本文文件附件中为qwebchannel.js//创建一个QWebChannel对象,并将C++中注册的类加载到前端//前端js和客户端C++进行关联,其中window.WebChannel_Obj是在js中自己定义的名称//window是js的全局对象});</script>

2024-03-27 16:52:50 248

原创 dpdk入门二

该驱动由用户态的 API 以及 PMD Driver 构成,内核态的 UIO Driver 屏蔽了网卡发出的中断信号,然后由用户态的 PMD Driver 采用主动轮询的方式。UIO+PMD,前者旁路了内核,后者主动轮询避免了硬中断,DPDK 从而可以在用户态进行收发包的处理。PMD Driver 从网卡上接收到数据包后,会直接通过 DMA 方式传输到预分配的内存中,同时更新无锁环形队列中的数据包指针,不断轮询的应用程序很快就能感知收到数据包,并在预分配的内存地址上直接处理数据包,这个过程非常简洁。

2024-03-27 16:51:23 236

原创 Mysql索引

索引是一个单独的、存储在磁盘上的数据库结构,它们包含着对数据表里所有记录的引用指针。使用索引用于快速找出在某个或多个列中有一特定值的行,所有MySQL列类型都可以被索引,对相关列使用索引是提高查询操作速度的最佳途径。MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。比如我们在查字典的时候,前面都有检索的拼音和偏旁、笔画等,然后找到对应字典页码,这样然后就打开字典的页数就可以知道我们要搜索的某一个key的全部值的信息了。

2024-03-27 16:49:06 331

原创 docker常用命令简介

【代码】docker常用命令简介。

2024-03-27 16:48:25 182

原创 HTML语义化标签

使用HTML中的一些语义化标签来替代div的使用,可以使界面在没有CSS的情况下具有一定的结构性,并且能让代码看起来更加的易读,易管理。

2024-03-27 16:47:31 185

原创 超越规划阶段:SDN入门

请记住,如果您正在扩展您的网络,那么您将不得不购买新的交换机、新的管理和监控软件、新的路由器,以及您需要的所有其他网络设备,无论网络是物理的还是虚拟的。当你开始着手选择SDN硬件的时候会发现,还有很多你从未听说过的交换机,它们可以处理SDN开放式网络,成本低廉,而且和你听说过的产品一样快。但是,无论出于何种原因,我们都是希望在网络中前进,所以我们现在要做的就是,突破目前的规划阶段,真正开始着手部署SDN。在SDN领域,网络巨头思科当然不能缺席,虽思科似乎不支持开放的SDN,而是支持自己的专有标准。

2024-03-12 17:09:22 338 1

原创 浏览器和nodejs事件循环(event loop)的区别

包括:promise,asycn/await,process.nextTick。Promise阻塞的时候,但是DOM没有渲染,说明微任务是在页面渲染之前触发。执行微任务(process.nextTick优先级最高)微任务在下一轮DOM渲染之前执行,宏任务在之后执行。但是,它的宏任务和微任务,分不同类型,有不同优先级。微任务,如promise、async/await。先执行同步任务,再执行微任务,再执行宏任务。nodejs宏任务和微任务分类型,有优先级。每次执行宏任务之前先检查有没有微任务。

2024-03-12 17:08:32 364 1

原创 OpenVPN客户端连接问题排查

Windows客户端的日志在安装目录的log/文件夹下;Linux客户端的日志在/var/log/openvpn.log中。错误原因:SSL证书校验不通过。排查server端的证书是否正确下载,复制到客户端后的配置文件中证书路径是否正确。错误原因:网络不可达,客户端无法访问公网。通过查看客户端是否能够ping通公网,能否通过ssh访问。错误原因:客户端与服务端的时间节点不一致。错误原因:客户端与服务端的协议类型(TCP/UDP)或者端口不一致导致。错误原因:客户端用户密码不正确。

2024-03-12 17:07:39 1545

原创 MySQL国产化集群环境安装部署手册

资源名称IP服务pc-1Manager(监控服务)、MySQL、HAProxypc-2Manager(监控服务)、MySQL、HAProxypc-3Manager(协调服务)

2024-03-12 16:44:53 353 1

原创 RocketMQ源码分析之消息存储

总结一下,RocketMQ 会创建多个MappedFile用来存储文件,每个MappedFile大小固定,有自己的内存缓冲区和对应的系统文件,所有的MappedFile由CommitLog中的MappedFileQueue统一维护。

2024-03-12 16:43:38 339 1

原创 一种多租户多Nginx集群部署的上云解决方案(一)

本文介绍了一种基于Macvlan实现多租场景下Nginx集群部署方式,解决了在同一台服务器上实现租户隔离与Nginx端口占用的问题。

2024-02-28 17:45:42 365

原创 常见网络安全攻击种类

A网站危险的第三方网站通过 iframe 形式把A网站引入进来,把两个页面的button按钮重合,把iframe的头名都调成0,点击第三放网站,其实点击的是A网站。本用户存在这张图片,但其他用户不存在的时候,就会触发onerror,会暴漏用户的cookie信息等,也可以发送请求,把数据传给其他的网站。服务端对返回信息做过滤在公网的接口统一错误的提示,每次都报一样的错误,不好猜限制请求协议。在服务端,设置一个中间件,设置一个响应头,设置。localStorage模拟存入数据库。

2024-02-28 17:44:40 318

原创 SDN的理想与现实

SDN已经10多岁了,甫一问世,其控制平面与数据平面分离的理念引起了网络界的极大关注和研究热潮。如今,SDN的光环不再,有人说,“SDN已死,有事烧纸”;有人说,SDN精神不朽,“万变不离其宗”。何为SDN?SDN目前究竟如何?SDN的理想与现实有何差距?

2024-02-28 17:41:00 823

原创 WebSocket入门

协议标识符是ws(如果加密,则为wss),服务器网址就是URLWebsocket使用和HTTP相同的TCP端口,可以绕过大多数防火墙的限制。默认情况下,Websocket协议使用80端口;运行在TLS之上时,默认使用443端口。Websocket通过HTTP/1.1协议的101状态码进行握手。

2024-02-28 17:38:19 365

原创 VPC内互访流量模型和流表跟踪

本文记录了VPC内流量模型和流表跳转记录,根据同计算节点云主机互访和不同计算节点的云主机互访分别跟踪,画了流量模型,记录了经过的流表。也记录了一种特殊情况的流表:未绑定安全组drop。

2024-02-28 17:36:53 890

空空如也

空空如也

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

TA关注的人

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