摘要: 背景 网关的高可用是比较重要的内容,即使etcd数据库挂掉,也可以根据现有的数据提供负载均衡应用 所以采用几级缓存的形式 cache-->lmdb-->etcd cache属于进程级别,每一个进程都有一个cache,lmdb相当于多个进程的共享内存,只有一个进程master进行同步更新etcd的数据 阅读全文
posted @ 2022-11-14 18:34 zscbest 阅读(360) 评论(0) 推荐(0) 编辑
摘要: 背景 在使用openresty时有一些定制化的负载均衡功能,有些元数据是保存在etcd中的,所以需要openresty与etcd进行交互,可以获取全量数据,并且使用etcd的watch功能。 上一篇 1.编译Openresty进行服务器初始化搭建 工程代码库 https://github.com/z 阅读全文
posted @ 2022-10-14 11:20 zscbest 阅读(759) 评论(2) 推荐(1) 编辑
摘要: 引言 是一款基于 NGINX 和 LuaJIT 的 Web 平台,公司采用的Openresty搭建的接入层网关,用lua实现的waf防火墙,节点的负载均衡,流量染色,流量规则等功能,后续会逐步的将功能进行拆解记录。 本篇是从原始openresty代码进行搭建。并且会引入一些扩展模块。 相关地址 中文 阅读全文
posted @ 2022-09-08 20:53 zscbest 阅读(698) 评论(1) 推荐(0) 编辑
摘要: 本人不是专业的前端同学,前端水平入门都算不上,只能边摸索,边开发。 记录实现的功能 实现效果: 导入接口按钮上传一份xlsx,并对数据进行处理。 下载模版按钮将前端的文件下载到本地 这里不涉及跟后端的交互 上传 <el-form-item label="接口配置:" prop="threshold" 阅读全文
posted @ 2022-07-29 16:49 zscbest 阅读(1553) 评论(0) 推荐(0) 编辑
摘要: 相关issue https://github.com/openresty/lua-nginx-module/issues/1115 网关采用nginx + lua 进行的功能扩展,在lua中使用ngx.var.proxy_add_x_forwarded_for获取不到值 查看该issue应该是跟版本 阅读全文
posted @ 2022-07-07 10:20 zscbest 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 背景 前置网关采用的是ngx中调用lua代码块的形式实现的功能扩展。 在网关开发过程中有很多的waf功能,比较常见就包括黑白名单的功能。为了批量的对某个IP段进行屏蔽,在配置时可能会以CIDR的形式配置IP段 结合lua代码进行处理 计算思路 我们查看某个IP是否在某个用CIDR表示的IP段时,只需 阅读全文
posted @ 2022-06-28 21:38 zscbest 阅读(419) 评论(0) 推荐(0) 编辑
摘要: 什么是JWT JSON Web Token(JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间以 JSON 方式安全地传输信息。由于此信息是经过数字签名的,因此可以被验证和信任。可以使用HMAC 算法或使用 RSA , ECDSA 的公钥/私钥对对 JWT 进 阅读全文
posted @ 2021-11-30 09:16 zscbest 阅读(340) 评论(0) 推荐(0) 编辑
摘要: 最近在研究云原生,使用Kubernete搭建了一个Jenkins平台,准备用其构建简单的Demo,根据网上的教程会有报错。 可能是Jenkins镜像版本的问题,这里先记录一下 报错1: Exec Failure: HTTP 403, Status: 403 - events is forbidden 阅读全文
posted @ 2021-08-04 16:34 zscbest 阅读(374) 评论(0) 推荐(0) 编辑
摘要: 在线安装: bin/logstash-plugin install logstash-filter-json_encode 这里可能会保一个mmap 的错误 Java HotSpot(TM) 64-Bit Server VM warning: INFO: os::commit_memory(0x00 阅读全文
posted @ 2020-12-04 12:44 zscbest 阅读(1278) 评论(0) 推荐(0) 编辑
摘要: 背景: 我们的日志是json类型,但是在写入ES时变成一个message 字段string,这种将所有日志写在一个string 类型时不利于分字段进行查找,并且没发用kibana 平台使用ES的聚合分析功能。 由于业务的不同,打印的字段比较随意,而写入ES中的key最大值要求1000,这样又不能把日 阅读全文
posted @ 2020-12-02 16:03 zscbest 阅读(1432) 评论(0) 推荐(1) 编辑