会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
Fudashi233
Fork me on github https://github.com/fudashi233
博客园
首页
新随笔
联系
订阅
管理
2019年6月9日
一个简单的Web服务器-支持Servlet请求
摘要: 上接 一个简单的Web服务器-支持静态资源请求,这个服务器可以处理静态资源的请求,那么如何处理Servlet请求的呢? 判断是否是Servlet请求 首先Web服务器需要判断当前请求是否是Servlet请求。 像Tomcat,通过解析HTTP报文拿到请求url后,就可以根据web.xml来查找是否有
阅读全文
posted @ 2019-06-09 23:22 Fudashi233
阅读(317)
评论(0)
推荐(0)
2019年6月2日
uptime
摘要: uptime 的作用 uptime一般用来查看机器当前的负载情况,如下所示。 [~]$ uptime 20:31:17 up 493 days, 2:30, 1 user, load average: 0.11, 0.13, 0.14 20:31:17:其展示了机器当前时间 up 493 days,
阅读全文
posted @ 2019-06-02 22:23 Fudashi233
阅读(549)
评论(0)
推荐(0)
2019年5月12日
一个简单的Web服务器-支持静态资源请求
摘要: 目标 实现一个简单的Web服务器,能够根据HTTP请求的URL响应对应的静态资源,如果静态资源不存在则响应404。 HttpServer 使用ServerSocket实现的一个服务器,request根据socket.getInputStream()获取HTTP报文,response将响应写入sock
阅读全文
posted @ 2019-05-12 23:10 Fudashi233
阅读(1039)
评论(0)
推荐(0)
2019年4月21日
服务端线程模型-NIO服务模型
摘要: 上接《服务端线程模型-线程池服务模型》(https://www.cnblogs.com/fudashi233/p/10549221.html)。 这篇分享从最初的单线程服务模型一直演进到线程池服务模型,充分发挥出了现在多核CPU机器的优势,但是当面对万级别的qps时,仍然可能因为线程池打满而拒绝掉大
阅读全文
posted @ 2019-04-21 23:07 Fudashi233
阅读(142)
评论(0)
推荐(0)
2019年4月14日
缓存系统设计:缓存击穿,缓存雪崩,缓存穿透,缓存预热
摘要: 缓存击穿 假设一个缓存系统中存在一个热Key,每分每秒都有大量的请求访问这个key,那么当这个热key因为过期而失效,一瞬间所有的请求直接打到DB上,这种场景称做缓存击穿。 为了避免这种问题业界一般有如下解决方案 1.互斥锁 当缓存过期时,常见的逻辑是直接请求DB,然后再set回缓存中。为了避免缓存
阅读全文
posted @ 2019-04-14 20:10 Fudashi233
阅读(719)
评论(2)
推荐(1)
2019年3月24日
NIO缓冲区基本操作:rewind(),clear(),flip()
摘要: rewind() rewind()方法将position置0,清除mark,它的作用在于为提取Buffer的有效数据做准备。 在#1处,rewind前和rewind后的示意图如下所示 > clear() clear()方法将position置0,清除mark,与rewind()方法不同的是,它还会将
阅读全文
posted @ 2019-03-24 22:13 Fudashi233
阅读(1331)
评论(0)
推荐(1)
2019年3月17日
服务端线程模型-线程池服务模型
摘要: 单线程服务器 初学网络编程时,我们写的服务端的代码大部分如下所示。 在一个循环中等待客户端请求,一旦接到请求就在当前线程与客户端进行通信,这就是单线程服务模型。 这种模型有个问题,就是当请求量一上来,同时第二步的操作耗时过长时,许多请求就会阻塞在系统的Socket队列中,无法及时得到处理,响应时间增
阅读全文
posted @ 2019-03-17 22:01 Fudashi233
阅读(1020)
评论(1)
推荐(0)
2019年3月10日
Socket/ServerSocket 选项
摘要: 在网络编程中,Socket/ServerSocket有一些选项用来自定义一些行为,现在分享一下。 Socket选项 1.TCP_NODELAY 在Socket发送数据时,默认情况下,数据会先进入缓冲区,等缓冲区满了再发送出去,意图是为了通过减少传输数据的次数,以此来提高通信效率。 但是,对于一些需要
阅读全文
posted @ 2019-03-10 22:22 Fudashi233
阅读(806)
评论(0)
推荐(0)
2019年1月13日
Elasticsearch 基于 URL 的搜索请求
摘要: 背景 Elasticsearch 不像关系型数据库,没有简易的 SQL 用来查询数据,只能通过调用 RESTful API 实现查询。大体上查询分为两种,基于 URL 的和基于请求主体的。基于 URL 的方式比较简单清晰,用得较多,在这简单记录下。 基本模式 基于 URL 的搜索请求基本模式如上图所
阅读全文
posted @ 2019-01-13 21:54 Fudashi233
阅读(2807)
评论(0)
推荐(0)
公告