通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用!
成功电子商务必不可少的
过去,每个人都期望业务应用程序和网站具有同步行为。 单击一个链接并等待响应-同时,该技术正在尽力响应您的请求,阻止其他活动,直到完成为止。
相比之下,今天, 异步行为已成为更多规范。 与同步交互相比,这种行为不仅可以提高性能,因为现在许多活动都可以快速进行,而且这种系统更易于使用。
现代技术用户(换句话说, 几乎每个人 )现在已经习惯了用户界面(UI)上的异步行为。 我将这种用户期望的转变称为Facebook 效果 ,因为Facebook的UI是完全异步的。 首次访问facebook.com时,所有加载的都是空UI框架。 从那里开始,Facebook将信息推送到屏幕的各个部分–通常无需单击即可。
在Facebook领导的地方,整个数字世界随之而来。 现在,异步行为在大多数端到端业务事务中都处于中心位置,既可以支持动态UI,也可以简化和加速业务流程中不可见的步骤。
此外,随着组织扩展其数字化工作,异步成为消除性能瓶颈的重要工具。 难怪异步交互是云中的默认交互模式。
监视包含异步交互的业务交易
确保任何业务事务的性能对于最终用户和业务都非常重要,无论它是否包括任何异步活动。
但是,当事务确实包含这样的交互时,监视事务的端到端性能将变得很棘手,因为执行不佳的异步活动可以在用户认为事务完成后几秒钟内完成。
当然,如果事务中的异步步骤完全失败,那么用户甚至可能不知道存在问题–这是业务最糟糕的情况。
为了解决这些问题, AppDynamics在其平台上增加了监视业务交易异步元素的功能。
管理员通过设置表示异步交互结束的事务分界器来开始此配置。 例如,如果一个业务交易包含一个方法调用,该方法调用会生成线程,然后在线程完成后将响应组装到客户端,则管理员会将该方法标识为事务处理序列中的逻辑端点。
在其他情况下,管理员可以指定将完成端到端事务处理的层。 结果,管理员可以确定执行异步后端调用(例如JMS或Web服务交互)的事务的逻辑事务响应时间。 当业务交易产生的最后一个线程在该层终止时,AppDynamics代理会认为该交易已完成。
这是一个例子。 在下面的屏幕截图中,实线表示同步交互,而虚线是异步的。
在上面的示例中,两个电子商务服务节点通过JDBC与数据库同步交互,并通过Web Service调用与库存服务同步交互。 同时,电子商务节点还将异步请求推送到三个队列中。 订单处理服务然后从两个队列中提取请求,并在处理后将其发送给实现。
订单处理服务必须正确处理订单队列和履行队列中的消息,否则履行会变慢,甚至根本不会发生。 通过适当地监视订单处理服务,AppDynamics可以在此类问题对业务或客户造成不利影响之前识别出这些问题。
The Intellyx Take
上面的示例中的电子商务场景可能是AppDynamics异步监视的最常见用例,但是它只是此功能将有用的许多场景之一。
通常,业务流程是长期运行的,因此,使此类流程自动化的任何技术都是异步的。 除了涉及订购和履行的与商业和其他供应链相关的流程外,任何类型的案件管理流程都可能会从此类监视中受益。
例如,任何支持呼叫中心或其他支持人员的软件都可能具有异步交互,无论该软件提供支持票务,现场派遣还是任何其他企业方案。
在当今的数字世界中,典型的业务交易以购买为中心-但是还有许多其他类型的业务交易对组织同样重要。 通过添加其异步监视功能,AppDynamics可以监视任何此类事务。
通过AppDynamics解决应用程序问题的速度提高了10倍–以最小的开销在代码级深度监视生产应用程序。 开始免费试用!
翻译自: https://www.javacodegeeks.com/2015/11/monitoring-asynchronous-business-transactions.html