深入理解HTTP协议(全面理解,才能更好的做好web开发)

http协议

淘宝的架构:应用无状态

 

构建Java Agent,而不是使用框架

Java annotations自从被引入到Java之后,一直扮演着整合各种API的作用,尤其是对大型应用框架而言。在这方面,Spring和 Hibernate都是Java annotation应用的好例子——仅仅需要增加几行简单的Java annotation代码,就可以实现非常复杂的程序逻辑。尽管对这些API(的写法)存在一些争论,但是大多数程序员认为,只要使用得当,这种声明式编 程在形式上还是很有表达能力的。不过,只有少量程序员基于Java annotation来编写框架API,或者应用程序中间件。之所以造成这种现象很主要的一个原因是,程序员们认为Java annotation会降低代码的可读性。在本文中,我就想告诉大家,实现这些基于annotation的API其实并不是完全无用的,只要使用恰当的工 具,其实你也并不需要了解太多Java内部函数的知识。


深度解析:清理烂代码

烂代码不一定是问题,只要它们没有出错,没有人会对它嗤之以鼻。但不幸的是,它们没被发现的概率太小了。错误会被发现。需要新的功能,新系统发布了。现在你不得不面对这堆恐怖的代码,试着去清理它们。
猜猜看怎么了!你正”继承“(接收)了一堆混乱的旧代码。恭喜你!现在都是你的了。混乱的代码可能来自任何地方。中间件,网络,可能来自你自己的公司。


JMS-使用消息队列优化网站性能

在当今互联网和电商盛行的情况下,网站的性能受到了极大地挑战。大数据,高并发成为大型网站的标志。无论淘宝的双11优惠,还是小米抢购,它们都有一个共同的特点,那就是在短时间内,突然涌入超出平时数倍的用户。



软件架构设计

软件架构设计尚没有万灵的方法论支持,还是个非常新兴的行业,给出个人理解的行业软件架构设计过程,受个人水平有限,仅供参考:



为什么学习Redis作为消息队列服务器

消息 ”是在两台计算机间传送的数据单位。消息可以非常简单,例如只包含文本字符串;也可以更复杂,可能包含嵌入对象。消息被发送到队列中,“ 消息队列 ”是在消息的传输过程中保存消息的 容器 


用redis实现支持优先级的消息队列

为什么需要消息队列

系统中引入消息队列机制是对系统一个非常大的改善。例如一个web系统中,用户做了某项操作后需要发送邮件通知到用户邮箱中。你可以使用同步方式让用户等待邮件发送完成后反馈给用户,但是这样可能会因为网络的不确定性造成用户长时间的等待从而影响用户体验。
 
有些场景下是不可能使用同步方式等待完成的,那些需要后台花费大量时间的操作。例如极端例子,一个在线编译系统任务,后台编译完成需要30分钟。这种场景的设计不可能同步

RabbitMQ与Redis队列对比

Redis:轻量级,高并发,延迟敏感
即时数据分析、秒杀计数器、缓存等

RabbitMQ:重量级,高并发,异步
批量数据异步处理、并行任务串行化,高负载任务的负载均衡等