11 天前 / 进击的强
BFE 是基于 Go 语言编写的七层负载均衡开源软件,诞生于 2014 年。2020 年 6 月,BFE 被 CNCF(Cloud Native Computing Foundation,云原生计算基金会)接受为“沙盒项目”(SandboxProject),成为中国第一个网络方向的 CNCF 开源项目。BFE 已经在百度大规模使用多年,每天转发超过万亿的请求;BFE 也被度小满、央视网、招商银行、360、用友网络等机构选用。 随着云计算和云原生的发展,七层负载均衡得到了越来越多的关注,这个领域出现了很多不同的解决方案。本文对七层负载均衡的多个主流生态进行了说明和对比。
42 天前 / yybbb
在单进程的网络编程模型中。所有的网络相关的动作都是在一个进程里完成的,如监听 socket 的创建, bind、listen。再比如 epoll 的创建、要监听事件的添加,以及 epoll_wait 等待时间发生。这些统统都是在一个进程里搞定。 一个客户端和使用了 epoll 的服务端的交互过程如下图所示。 以下是其大概的代码示例(没耐心看的同学可以先)。 intmain(){ // 监听 lfd=socket(AF_INET,SOCK_STREAM,0); bind(lfd,...) listen(lfd,...); // 创建 epoll 对象,并把listensocket 的事件管理起来 efd=epoll_create(...); epoll_ctl(efd,EPOLL_CTL_ADD,lfd,...); // 事...
45 天前 / hyper0x
Nginx 是一款非常流行的 Web 服务器,在 Github 上已有 16K+Star,我们经常用它来做静态资源托管或反向代理。最近发现了一款全新的 Web 服务器 Caddy,Star 数超越 Nginx,标星 38K+Star。试用了一下 Caddy,发现它使用起来比 Nginx 优雅多了,功能也很强大,推荐给大家! Caddy 简介 Caddy 是一款功能强大,扩展性高的 Web 服务器,目前在 Github 上已有 38K+Star。Caddy 采用 Go 语言编写,可用于静态资源托管和反向代理。
125 天前 / Juicedata
解决方案下载文档社区版文档云服务文档JuiceFS CSI 驱动定价博客社区首页归档标签用 JuiceFS 备份 Nginx 日志可以这么简单苏锐2018.03.01前一段,我们写了一篇讲异地备份重要性的文章,一周之后北京真的地震了,当时的时间是傍晚 6 点多一点,大部分工程师写代码正嗨的时候,地震之后就看到朋友圈里有人说感觉到地震的第一反应就是 git push,多么冰雪聪明、尽职尽责,可是你的线上数据做好备份了么? 在我们线上的生产环境中要备份的东西很多,各种服务日志、数据库数据、用户上传数据、代码等等。
130 天前 / hyper0x
去年发过文章 HOL blocking 困扰两个月的问题, http2 通过多路复用虚拟 stream 最大化的利用了 tcp 连接的性能,并且解决了七层的 HOL 问题,但是没有解决四层 tcp 的 HOL, 如果有丢包,那么同一 tcp 上的所有业务都会产生影响,QPS 高的时候非常明显 而 QUIC[1] 解决了这个问题,底层基于 UDP. 本文提到的 http3 也是基于 google 的 quic, IETF 去年发布了完整版的 RFC9000[2] how-facebook-is-bringing-quic-to-billions[3] 提到了性能优化,整体来讲弱网络下,用户体验提升非常明显,但是有一些基于 tcp 做的优化就不再适用了,需要重新审视一下。
140 天前 / reesunhuang
转载:DevOps 技术栈 Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。 01Nginx 知识网结构图 Nginx 的知识网结构图如下: 02 反向代理 正向代理:局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。
159 天前 / 冷星1024
点击上方前端瓶子君,关注公众号 回复算法,加入前端编程面试算法每日一题群 引言 Nginx 作为市场占有率最高的 Web 服务器,主打高性能、可扩展。自带了很多核心功能模块,并且也有大量的第三方模块。 Web 服务中灰度方案的实现,很多会采用 Nginx + Lua + Redis 方案。Lua 是一个轻量级的脚本语言,体积小、启动速度快、性能高。通过 lua-nginx-module 模块将 Lua 语言嵌入到 Nginx 中,可以使用 Lua 脚本扩展 Nginx 功能,并可以访问 MySQL、Redis 等数据库。 Lua 虽然是个强大的脚本语言,但过于小众。
174 天前 / HueiFeng
去年的时候写了一篇原创《前后端分离,如何在前端项目中动态插入后端 API 基地址?(in docker)》, 我自认为这篇生产实践是对大前端、 容器化、CI/CD 的得意之作。 对于前后端分离的 web 项目,在容器启动的瞬间,通过脚本替换待部署环境的特定变量,形成了一个镜像,多环境部署的效果。 Dockerfile CMD 指示容器运行过程: 用真实值替换前端 chunk files 中插入的 API_BASE_URL 字符使用 nginx 承载替换后的 chunk files#FILE:Dockerfile ... EXPOSE80 COPY--from=builder/react-frontend/replace_api_url.sh/ CMD["sh","replace_api_url.sh"] 下面是 ...
196 天前 / BloomingRose
来源:segmentfault.com/a/1190000018267201 背景为了封禁某些爬虫或者恶意用户对服务器的请求,我们需要建立一个动态的 IP 黑名单。对于黑名单之内的 IP ,拒绝提供服务。 架构实现 IP 黑名单的功能有很多途径: 1、在操作系统层面,配置 iptables,拒绝指定 IP 的网络请求; 2、在 Web Server 层面,通过 Nginx 自身的 deny 选项 或者 lua 插件 配置 IP 黑名单; 3、在应用层面,在请求服务之前检查一遍客户端 IP 是否在黑名单。
280 天前 / Ryan众乐
首发于网易数帆社区写文章效率倍增!网易杭研 Nginx 自动扩缩容实践网易数帆数字世界新动力 https://www.163yun.com9 人赞同了该文章随着网易云对容器化的支持,各个业务正在逐步推进容器化改造,传统人工修改 Nginx 配置并推送线上生效已经不能满足容器化时代业务的变更需求,Nginx 的变更效率亟待提升,基于 Nginx 自动扩缩容快速变更,网易杭研运维进行了持续实践,推进并完成了网易云音乐、传媒等部分入口集群的自动扩缩容改造,提高了变更效率,解放了运维人力。
362 天前 / 逗逗
作者:chrootliu,腾讯 QQ 音乐前端开发工程师 本文将会从:安装 -> 全局配置 -> 常用的各种配置 来书写,其中常用配置写的炒鸡详细,需要的童鞋可以直接滑倒相应的位置查看。 安装 nginx 下载 nginx 的压缩包文件到根目录,官网下载地址:nginx.org/download/nginx-x.xx.xx.tar.gz yumupdate#更新系统软件 cd/ wgetnginx.org/download/nginx-1.17.2.tar.gz 解压 tar.gz 压缩包文件,进去 nginx-1.17.2 tar-xzvfnginx-1.17.2.tar.gz cdnginx-1.17.2 进入文件夹后进行配置检查 ./configure 通过安装前的配置检查,发现有报错。
378 天前 / 叫我阿柒啊
前言随着微服务和容器化技术的兴起,大家或多或少的都听过 docker。docker 相对于虚拟机来说是一种轻量级的虚拟技术,它的隔离性和可移植性也让它有了更多的应用场景。工作闲暇之余,也曾学习过 docker,所以就尝试在一台 ECS 上用 docker 搭建一台 nginx + 2 台 tomcat 的负载均衡,加深一下对 docker 的理解。 通常在一台机器上搭建负载均衡的时候,需要两个端口不一样的 tomcat,但 webapps 下应用必须一致,一个应用在修改了之后需要拷贝到两个 tomcat 中。容器运行 tomcat 就不需要这样,两个容器里面的 tomcat 可以共享宿主机的一个 tomcat 目录。
433 天前 / 花括号MC
原创:花括号 MC( 微信公众号:huakuohao-mc)。关注 JAVA 基础编程及大数据,注重经验分享及个人成长。 关于 Nginx,除了用它做正常的 Web 服务器,还经常用它做网络代理服务器使用;来解决网络访问受限的问题。日常大家讨论最多的就是“正向代理”和"反向代理"。很多人,经常会弄不明白什么是"正向代理",什么又是"反向代理",他们之间到底有什么区别? 其实 Nginx 只有一种代理转发功能。之所以大家经常会说正向代理或者是反向代理是因为站的角度不一样。
469 天前 / reesunhuang
【导语】:一个格式化 Nginx 日志,可快速阅读、查看 Nginx 日志的工具。 简介 Rhit 可以从标准文件夹中读取 Nginx 的日志文件(gzipped 的压缩文件也可以),并进行分析统计,在控制台中以可视化的表格形式展示,并且不会产生任何多余的临时文件或数据。 可以按照日期、响应值、请求来源等进行过滤匹配,并进行分析,Rhit 具有很高的效率,每秒可以处理百万行日志数据。 以下是在一月份的日志中查找状态码为 1xx、2xx 的结果: 项目地址是: https://github.com/Canop/rhit 安装直接下载使用编译好的二进制文件...