首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/188398

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

大型服务端开发的反模式技巧

1. 用线程池执行异步任务 为了减少阻塞时间,加快响应速度,把无需返回结果的操作变成异步任务,用线程池来执行,这是提高性能的一种手段。 你可能要惊讶了,这么做不对吗? 首先,我们把异步任务分为两种: 务必成功执行的 不成功就放弃 显然大多数时候都是第一种。那么当你把任务丢给线程池,你知道它完成了没有吗? 如果服务器宕机、升级或重启,那些尚未完成或还在排队的任务就丢了。后果是,用户在促销活动中抢到的优惠券,没有发给用户。更严重的后果是,一个订单在送往仓库系统的途中消失了。 我推荐的做法是把任务投递到消息中间件,让它分发给消息消费者来执行(消费者可能是发送者自身)。 消息中间件可以要求消费者在完成任务后通知中间件,否则就重新分发消息,直到收到任务已完成的通知。 如果中间件没这种功能,可以让应用要求消费者在完成任务后回发一个"任务已完成"的消息,但应用不能同步等待这一消息,否则异步就退化为同步了。 更重要的是,消息中间件有持久化功能,即使宕机也不丢消息,而且可以长期不升级、不重启。消息中间件的缺点是,对失败情况的处理难以定制化——你可能想定制重试间隔、重试次数等细节。 换个角度来看,要解决丢...

《Spring技术内幕》——导读

目录 前言第1章 Spring的设计理念和整体架构1.1 Spring的各个子项目1.2 Spring的设计目标1.3 Spring的整体架构1.4 Spring的应用场景1.5 小结第一部分 Spring核心实现篇第2章 Spring Framework的核心:IoC容器的实现 2.1 Spring IoC容器概述 2.2 IoC容器系列的设计与实现:BeanFactory和ApplicationContext2.3 IC容器的初始化过程2.4 IoC容器的依赖注入2.5 容器其他相关特性的设计与实现2.6 小结第3章 Spring AOP的实现 3.1 Spring AOP概述3.2 Spring AOP的设计与实现

相关文章

发表评论

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。