服务器
zl1zl2zl3
这个作者很懒,什么都没留下…
展开
-
糟糕!服务器被植入挖矿木马,CPU 飙升200%。。。
线上服务器用的是某讯云的,欢快的完美运行着Tomcat,MySQL,MongoDB,ActiveMQ等程序。突然一则噩耗从前线传来:网站不能访问了!此项目是我负责,我以150+的手速立即打开了服务器,看到Tomcat挂了,然后顺其自然的重启,启动过程中直接被killed,再试试数据库,同样没成功多次尝试甚至重启机器无果。机智的我打了个top,出现以下内容:这是谁运行的程序?不管三七二十一先杀掉再说,因为它就是Tomcat等程序启动不了的元凶。然而并没有什么卵用,过一会再看那个东西又跑出来转载 2020-09-04 09:12:38 · 402 阅读 · 0 评论 -
吊打 Tomcat ,Undertow 性能很炸!!
在 Java Web 容器的世界里,Tomcat 和 Jetty 是大名鼎鼎的、用的最多的开源项目,也是大众熟知的。今天再介绍另外一款能和 Tomcat 媲美的神器:Undertow,据说性能方面还要吊打 Tomcat,如果你还不知道它,那你就 OUT 了。我们来看下 Spring Boot 默认支持的三种 Servlet 容器:Name Servlet Version Tomcat 9.0 4.0 Jetty 9.4 3.1 Undertow 2.0 4.0转载 2020-08-25 19:31:48 · 356 阅读 · 0 评论 -
Tomcat 架构原理到架构设计,写得非常好!
Tomcat 架构原理解析到架构设计借鉴Tomcat 发展这么多年,已经比较成熟稳定。在如今『追新求快』的时代,Tomcat 作为 Java Web 开发必备的工具似乎变成了『熟悉的陌生人』,难道说如今就没有必要深入学习它了么?学习它我们又有什么收获呢?静下心来,细细品味经典的开源作品。提升我们的「内功」,具体来说就是学习大牛们如何设计、架构一个中间件系统,并且让这些经验为我所用。美好的事物往往是整洁而优雅的。但这并不等于简单,而是要将复杂的系统分解成一个个小模块,并且各个模块的职责划分也.转载 2020-08-15 11:07:55 · 231 阅读 · 0 评论 -
HTTP Server : 一个差生的逆袭
我刚毕业那会儿,国家还是包分配工作的,我的死党张大胖被分配到了一个叫数据库的大城市,天天都可以坐在高端大气上档次的机房里,在那里专门执行SQL查询优化,工作稳定又舒适。隔壁宿舍的小白被送到了编译器镇,在那里专门把C源文件编译成EXE程序,虽然累,但是技术含量非常高,工资高,假期多。我成绩不太好,典型的差生,四级补考了两次才过,被发配到了一个不知道什么名字的村庄,据说要处理什么HTTP请求,这个村庄其实就是一个破旧的电脑,令我欣慰的是可以上网,时不时能和死党们通个信什么的。不过辅导员说了,我们都有转载 2020-05-28 08:30:21 · 292 阅读 · 0 评论 -
高性能服务器架构思路「不仅是思路」
在服务器端程序开发领域,性能问题一直是备受关注的重点。业界有大量的框架、组件、类库都是以性能为卖点而广为人知。然而,服务器端程序在性能问题上应该有何种基本思路,这个却很少被这些项目的文档提及。本文正式希望介绍服务器端解决性能问题的基本策略和经典实践,并分为几个部分来说明:1.缓存策略的概念和实例2.缓存策略的难点:不同特点的缓存数据的清理机制3.分布策略的概念和实例4.分布策略的难...转载 2020-04-20 14:26:49 · 298 阅读 · 0 评论 -
看问题要看到本质:从Web服务器说起
这是个很长的故事, 让我们从Web服务器来开始。Web服务器是个挺简单的东西,工作很简单,在80端口上监听,解析客户端发过来的HTTP的请求, 然后把相对应的HTML文件、Image等返回给客户端就可以了。像这样:这就是一个静态内容服务器,所谓静态内容,就是服务器端的内容如HTML不会变化,每次请求都是一样的。除非人们手工改了它。实现这样一个“玩具Web服务器”并不难,只要...转载 2019-06-23 08:54:39 · 365 阅读 · 1 评论 -
Nginx 搭建图片服务器
本章内容通过Nginx 和 FTP 搭建图片服务器。在学习本章内容前,请确保您的Linux 系统已经安装了Nginx和Vsftpd。Nginx 安装http://www.cnblogs.com/itdragon/p/7850985.htmlVsftpd 安装http://www.cnblogs.com/itdragon/p/7857649.html本章知识点效果图:...转载 2019-04-04 09:20:28 · 152 阅读 · 0 评论 -
Netty 实战:如何编写一个麻小俱全的 web 容器
逅弈(逅弈逐码)| 作者本文转载自「逅弈逐码」,欢迎关注学习 Netty 也有一段时间了,为了更好的掌握 Netty,我手动造了轮子,一个基于 Netty 的 web 容器:redant,中文叫红火蚁。创建这个项目的目的主要是学习使用 Netty,俗话说不要轻易的造轮子,但是通过造轮子我们可以学到很多优秀开源框架的设计思路,编写优美的代码,更好的提升自己。PS:项目地...转载 2019-03-07 21:57:30 · 438 阅读 · 0 评论 -
Netty防止内存泄漏措施
谨以此文献给李林锋即将新生的爱女。1. 背景1.1 直播平台内存泄漏问题某直播平台,一些网红的直播间在业务高峰期,会有 10W+ 的粉丝接入,如果瞬间发生大量客户端连接掉线、或者一些客户端网络比较慢,发现基于 Netty 构建的服务端内存会飙升,发生内存泄漏(OOM),导致直播卡顿、或者客户端接收不到服务端推送的消息,用户体验受到很大影响。1.2 问题分析首先对 GC 数...转载 2019-03-06 21:10:22 · 1853 阅读 · 0 评论 -
超实用的 Nginx 极简教程,覆盖了常用场景
概述什么是 Nginx?Nginx (engine x)是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。什么是反向代理?反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服...转载 2019-02-27 17:50:24 · 261 阅读 · 0 评论 -
涨姿势 | 服务重启后,为什么发生抖动?
一、问题描述在发布或重启某线上服务时(jetty8作为服务器),常常发现有些机器的load会飙到非常高(高达70),并持续较长一段时间(5分钟)后回落(图1),与此同时响应时间曲线(图2)也与load曲线一致。注:load飙高的初始时刻是应用服务端口打开,流量打入时(load具体指什么可参考https://blog.csdn.net/zl1zl2zl3/article/details/8505...转载 2018-12-16 21:26:47 · 571 阅读 · 0 评论 -
定位服务器数据丢弃包问题
当某个服务器发生数据丢包时,它们肯定是由于某种原因。我们如何来分析为什么数据包丢失。以下是我们想要了解的情况: 一个数据包进入您计算机的网络堆栈( RX )(例如在端口 8000 上)。 在端口 8000 对应的应用程序接收之前被丢。 发送一个数据包( TX )。 在它从您的机器发出之前被丢。 本文不关注“数据包在网络传输过程丢了,让我们用 traceroute / 通过计...转载 2018-12-01 21:13:26 · 684 阅读 · 0 评论 -
操作系统和Web服务器那点事儿
操作系统老大又一个进程启动了,操作系统老大叹了一口气,毕竟自己的肩头又多了一份责任。让人烦恼的是,新来的家伙们很无知,几乎就是一张白纸。有些老实本分的会按照自己的规矩来做事,有些刺头儿喜欢问这问那,时不时还想搞点非法的访问,想访问别的进程的地址空间,甚至想访问内核的代码和数据! 这时候,我只有把他kill掉祭天,留下一个core dump的尸体让码农们去分析。规矩很重要!想到此处,...转载 2018-11-29 15:45:54 · 639 阅读 · 0 评论 -
如何用 Netty 设计一个百万级推送服务?
1. 背景1.1. 话题来源最近很多从事移动互联网和物联网开发的同学给我发邮件或者微博私信我,咨询推送服务相关的问题。问题五花八门,在帮助大家答疑解惑的过程中,我也对问题进行了总结,大概可以归纳为如下几类:1,Netty是否可以做推送服务器?2,如果使用Netty开发推送服务,一个服务器最多可以支撑多少个客户端?3,使用Netty开发推送服务遇到的各种技术问题。由于咨询...转载 2018-11-12 10:49:55 · 663 阅读 · 1 评论 -
Nginx 学习 —— 负载均衡
说到负载均衡,我想说它天生就是不公平的。为什么这么说呢?请你想象这么一个场景,一块蛋糕切成5份,现在要将它分给A、B、C3个人,基于公平原则,我们说每个人正常可以分到5/3份,但是,5/3份很明显不好进行划分,诶碰巧这个时候A中午没有吃饭,能多吃几份,B、C肚子偏饱,1份即可,基于不公平原则,我们分给A3份蛋糕,B、C个一份,这样按照一定策略将资源进行划分的方式,是一种均衡的策略。在web应用...转载 2018-10-23 11:17:15 · 238 阅读 · 0 评论 -
Nginx 学习 —— 正向代理与反向代理
今天花点时间记录下nginx的反向代理知识,之前也是有用过,但是我觉得还是依旧简单地记录下来,好记性不如烂笔头,说不定你以后学了新知识,又把它忘记了,回过头想重新学习,又得百度一下这找博客,那找博客,学习成本多大呀!1、正向代理和反向代理的概念无论是正向代理,还是反向代理,说到底,就是代理模式的衍生版本罢了。我们都学习过代理设计模式,都知道代理模式中有代理角色和被代理角色,为什么这么说,因...转载 2018-10-23 11:14:50 · 599 阅读 · 0 评论 -
NanoHttpd源码分析
最近在GitHub上发现一个有趣的项目——NanoHttpd。说它有趣,是因为他是一个只有一个Java文件构建而成,实现了部分http协议的http server。GitHub地址:https://github.com/NanoHttpd/nanohttpd 作者最近还有提交,看了下最新的代码,写篇源码分析贴上来,欢迎大家多给些建议。------------------------...转载 2017-02-20 14:37:23 · 2000 阅读 · 0 评论 -
关于Web服务器的认识
说到Web服务器,有很多文章都介绍的很好,之前看到一篇非常不错的,对我帮助很大,可惜现在找不到原文了,看到博客园有人转载,我就在这里也记一下好了,在此非常感谢作者的分析,受益匪浅。 那么在说Web服务器之前,先说说线程、进程、以及并发连接数。1.进程与线程 进程是具有一定独立功能的程序,关于某个数据集合上的一次运行活动,进程是系统进行资源分配和调度的一个独立单...转载 2017-06-07 23:18:20 · 688 阅读 · 0 评论 -
golang 实现HTTP代理和反向代理
代理的核心功能可以用一句话概括:接受客户端的请求,转发到后端服务器,获得应答之后返回给客户端。下图是 《HTTP 权威指南》一书中给出的图例,可以很清晰地说明这一流程:代理的功能有很多,事实上整个互联网到处都充斥着代理服务器。如果所有的 HTTP 访问都是客户端和服务器端直接进行的话,我们的网络不仅会变得缓慢,而且性能会大打折扣。代理服务器根据不同的配置和使用,可能会有不同的功能,这些...转载 2018-10-18 17:16:13 · 9467 阅读 · 1 评论