`
jinnianshilongnian
  • 浏览: 21503910 次
  • 性别: Icon_minigender_1
博客专栏
5c8dac6a-21dc-3466-8abb-057664ab39c7
跟我学spring3
浏览量:2418628
D659df3e-4ad7-3b12-8b9a-1e94abd75ac3
Spring杂谈
浏览量:3008766
43989fe4-8b6b-3109-aaec-379d27dd4090
跟开涛学SpringMVC...
浏览量:5639454
1df97887-a9e1-3328-b6da-091f51f886a1
Servlet3.1规范翻...
浏览量:259915
4f347843-a078-36c1-977f-797c7fc123fc
springmvc杂谈
浏览量:1597308
22722232-95c1-34f2-b8e1-d059493d3d98
hibernate杂谈
浏览量:250216
45b32b6f-7468-3077-be40-00a5853c9a48
跟我学Shiro
浏览量:5858946
Group-logo
跟我学Nginx+Lua开...
浏览量:701997
5041f67a-12b2-30ba-814d-b55f466529d5
亿级流量网站架构核心技术
浏览量:785216
社区版块
存档分类
最新评论
文章列表
1、前些日子某服务被刷,每分钟达到上几百万请求;当时采用了nginx cache来解决的;但是因为某服务不能缓存太久,当时设置了5s,那么带来的问题就是产生大量小文件,而且很快就删除了。   2、通过free -m      会发现used是27G;但是通过top查看进程占的内存并没有那么多   那内存去哪了?   3、通过查阅资料会发现(cat /proc/meminfo) Slab: 22464312 kB SReclaimable: 16474128 kB (这些是内核保持的但是可以释放的inode和dentry的缓存) SUnreclaim: ...
流量复制 在实际开发中经常涉及到项目的升级,而该升级不能简单的上线就完事了,需要验证该升级是否兼容老的上线,因此可能需要并行运行两个项目一段时间进行数据比对和校验,待没问题后再进行上线。这其实就需要进行流量复制,把流量复制到其他服务器上,一种方式是使用如tcpcopy引流;另外我们还可以使用nginx的HttpLuaModule模块中的ngx.location.capture_multi进行并发执行来模拟复制。   构造两个服务 location /test1 { keepalive_timeout 60s; keepalive_requ ...
本章以京东商品详情页为例,京东商品详情页虽然仅是单个页面,但是其数据聚合源是非常多的,除了一些实时性要求比较高的如价格、库存、服务支持等通过AJAX异步加载加载之外,其他的数据都是在后端做数据聚合然后拼装 ...
此处我说的HTTP服务主要指如访问京东网站时我们看到的热门搜索、用户登录、实时价格、实时库存、服务支持、广告语等这种非Web页面,而是在Web页面中异步加载的相关数据。这些服务有个特点即访问量巨大、逻辑比较单一;但是如实时库存逻辑其实是非常复杂的。在京东这些服务每天有几亿十几亿的访问量,比如实时库存服务曾经在没有任何IP限流、DDos防御的情况被刷到600多万/分钟的访问量,而且能轻松应对。支撑如此大的访问量就需要考虑设计良好的架构,并很容易实现水平扩展。   架构 此处介绍下我曾使用过Nginx+JavaEE的架构。   1、单DB架构 早期架构可能就是Nginx直接ups ...
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。   如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-resty-template模板引擎可以认为是JSP,其最终会被翻译成Lua代码,然后通过ngx.print输出。   而lua-resty-template和大多数模板引擎是类似的,大体内容有: 模板位 ...
  JSON库   在进行数据传输时JSON格式目前应用广泛,因此从Lua对象与JSON字符串之间相互转换是一个非常常见的功能;目前Lua也有几个JSON库,本人用过cjson、dkjson。其中cjson的语法严格(比如unicode \u0020\u7eaf),要求符合规范否则会解析失败(如\u002),而dkjson相对宽松,当然也可以通过修改cjson的源码来完成一些特殊要求。而在使用dkjson时也没有遇到性能问题,目前使用的就是dkjson。使用时要特别注意的是大部分JSON库都仅支持UTF-8编码;因此如果你的字符编码是如GBK则需要先转换为UTF-8然后进行处理。 ...
对于开发来说需要有好的生态开发库来辅助我们快速开发,而Lua中也有大多数我们需要的第三方开发库如Redis、Memcached、Mysql、Http客户端、JSON、模板引擎等。 一些常见的Lua库可以在github上搜索,https://github.com/search?utf8=%E2%9C%93&q=lua+resty。   Redis客户端 lua-resty-redis是为基于cosocket API的ngx_lua提供的Lua redis客户端,通过它可以完成Redis的操作。默认安装OpenResty时已经自带了该模块,使用文档可参考https://githu ...
在实际开发中,不可能把所有代码写到一个大而全的lua文件中,需要进行分模块开发;而且模块化是高性能Lua应用的关键。使用require第一次导入模块后,所有Nginx 进程全局共享模块的数据和代码,每个Worker进程需要时会得到此 ...
目前对于互联网公司不使用Redis的很少,Redis不仅仅可以作为key-value缓存,而且提供了丰富的数据结果如set、list、map等,可以实现很多复杂的功能;但是Redis本身主要用作内存缓存,不适合做持久化存储,因此目前有如SSDB、ARDB等,还有如京东的JIMDB,它们都支持Redis协议,可以支持Redis客户端直接访问;而这些持久化存储大多数使用了如LevelDB、RocksDB、LMDB持久化引擎来实现数据的持久化存储;京东的JIMDB主要分为两个版本:LevelDB和LMDB,而我们看到的京东商品详情页就是使用LMDB引擎作为存储的,可以实现海量KV存储;当然SSDB ...
Nginx入门 本文目的是学习Nginx+Lua开发,对于Nginx基本知识可以参考如下文章: nginx启动、关闭、重启 http://www.cnblogs.com/derekchen/archive/2011/02/17/1957209.html agentzh 的 Nginx 教程 http://openresty.org/download/agentzh-nginx-tutorials-zhcn.html Nginx+Lua入门 http://17173ops.com/2013/11/01/17173-ngx-lua-manual.shtml nginx 配置指令的 ...
首先我们选择使用OpenResty,其是由Nginx核心加很多第三方模块组成,其最大的亮点是默认集成了Lua开发环境,使得Nginx可以作为一个Web Server使用。借助于Nginx的事件驱动模型和非阻塞IO,可以实现高性能的Web应用程序。而且OpenResty提供了大量组件如Mysql、Redis、Memcached等等,使在Nginx上开发Web应用更方便更简单。目前在京东如实时价格、秒杀、动态服务、单品页、列表页等都在使用Nginx+Lua架构,其他公司如淘宝、去哪儿网等。 安装环境 安装步骤可以参考http://openresty.org/#Installation。   ...
  《跟叶子学把妹》系列已经完结,《跟叶子学把妹》原名其实是《天方叶谈》,博主擅自给改成《跟叶子学把妹》目的是为了和之前的教程统一,。《天方叶谈》在每周三晚发布在公司内部的微信公众号《咚咚小报》上,对程序员来说,不管是真的把妹或者娱乐还是其他,笑笑就好。   把妹目录:  跟叶子学把妹——教程序猿把妹第一集 跟叶子学把妹——教程序猿把妹第二集 跟叶子学把妹——教程序猿把妹第三集 跟叶子学把妹——教程序猿把妹第四集 跟叶子学把妹——教程序猿把妹第五集 跟叶子学把妹——教程序猿把妹第六集 跟叶子学把妹——教程序猿把妹第七集 跟叶子学把妹——教程序猿把妹第八集   下图我 ...
自《天方叶谈》创刊以来,叶子一直在努力将自己的所见、所思、所感一点一点终结成泡妞经验,目的只有一个,就是让更多的伙伴们能够找到属于自己的“幸福”!不过,说来说去,现实中叶子其实就是个妞,还是个被别人追的妞(害羞ing… 没办法老娘就是这么炙手可热)    思来想去,这些经验也只是很小的一部分,叶子作为程序猿们的知心小妹妹,必须要捕获更多的信息量,才能让程序员哥哥们成功捕获猎物,啊~不对,是找到心仪的女盆友。有时候我也会想,到底自己跟大家总结的这些经验真的对么?现实中真的对程序员哥哥有效么?好惶恐…SO… 叶子决定这次变身八卦小记者,采访采访那些成功的案例,看看那些已经成功骗到妹子的人是 ...
  我一直很有自信 平常不怕说出口 但在你身边时候 突然感觉好害羞 不知道 为什么,对你说 喜欢你,却说不出口,好想跟你表白~ 随着萧亚轩的歌词,叶子回到了读书时代,青涩年华,爱情,从搭讪到认识,从认识到暗恋,从暗恋到明恋,现在我们总算到了关键时刻,可能也是大家最期待的时刻之“表白”,想必每个人都曾经辗转反侧难以入眠,纠结一个问题——是否要捅破这个窗户,和心仪的她“表白”呢?
目录 Spring4.1新特性——综述 Spring4.1新特性——Spring核心部分及其他 Spring4.1新特性——Spring缓存框架增强 Spring4.1新特性——异步调用和事件机制的异常处理 Spring4.1新特性——数据库集成测试脚本初始化 Spring4.1新特性——Spring MVC增强 Spring4.1新特性——页面自动化测试框架Spring MVC Test HtmlUnit简介 Spring4.1新特性——静态资源处理增强   Spring 4.1对静态资源处理进行了细化,ResourceHttpRequestHandler细分为两大部分 ...
Global site tag (gtag.js) - Google Analytics