2014年02月Reading Notes

HTTP/1.1 Upgrade header

http://en.wikipedia.org/wiki/HTTP/1.1_Upgrade_header

通过http upgrade header来实现协议转换,比如把http协议转换为websocket协议.wildfly走得更远,8080端口支持HTTP (Servlet, JAX-RS, JAX-WS), Web Sockets, HTTP Upgraded Remoting (EJB Invocation, Remote JNDI).这篇文章讲述了一些细节.

When should I not kill -9 a process?

http://unix.stackexchange.com/questions/8916/when-should-i-not-kill-9-a-process

Generally, you should use kill -15 before kill -9 to give the target process a chance to clean up after itself.

Java里快如闪电的线程间通讯

http://www.infoq.com/cn/articles/High-Performance-Java-Inter-Thread-Communications

多线程中,锁是一个很大的性能开销.如果采用无锁实现,会发现原来世界可以更美好.

elasticsearch中文学习文档

https://github.com/medcl/elasticsearch-rtf

http://tanjianna.diandian.com/post/2013-07-27/elasticsearch-study

elasticsearch中文发行版,针对中文集成了相关插件,并带有Demo,方便新手学习,或者在生产环境中直接使用

elasticsearch中文学习文档

http://webappchecklist.com/
Web开发者必备:Web应用检查清单

Cache coherence

http://en.wikipedia.org/wiki/Cache_coherence

In a shared memory multiprocessor system with a separate cache memory for each processor, it is possible to have many copies of any one instruction operand: one copy in the main memory and one in each cache memory. When one copy of an operand is changed, the other copies of the operand must be changed also.

Cache coherence is the discipline that ensures that changes in the values of shared operands are propagated throughout the system in a timely fashion.

高性能、高流量Java Web站点打造的22条建议

http://www.csdn.net/article/2013-12-20/2817861-22-recommendations-for-building-effective-high-traffic-web-application

  • 通过使用类似Lucene的索引器做表的索引,使用一个允许在结果集上做基于其他字段的查询.

    对于复杂的查询,在数据库中直接做是很影响性能的,通过使用搜索引擎,能减轻数据库的压力.

  • 考虑使用Oracle或者MySQL分片

    数据量大时,做分片能获得不错的性能提升.

  • 不要使用session stickiness

    会话粘滞会带来一系列的问题.我们的分布式session方案中,默认要求LB启用会话粘滞,这样做的目的是能让本地缓存生效.当需要failover时,才去后端memcached中取数据.能同时兼顾性能和高可用.

  • 终止反向代理商的SSL

    在反向代理或者LB上卸载ssl,能够减轻web应用服务器的压力.

  • 拥抱一切“reactor”

给攻城狮一个小小的鼓励!