代理重定向策略及其用户感受的分析

简介: 大家会碰到类似这样的事情,比如,找你的租房中介负责人让处理一下空调坏了,中介负责人回答你说“我现在不负责你了 ,你去联系A。”你觉得这件事有些不爽,没办法,去联系A。说不定A又会说自己不负责了,让你联系B。 碰到这种“你去联系XXX”的情况,我想没有人会开心的。 如果这样的“重定向”形成了环,那

大家会碰到类似这样的事情,比如,找你的租房中介负责人让处理一下空调坏了,中介负责人回答你说“我现在不负责你了 ,你去联系A。”你觉得这件事有些不爽,没办法,去联系A。说不定A又会说自己不负责了,让你联系B。

碰到这种“你去联系XXX”的情况,我想没有人会开心的。

如果这样的“重定向”形成了环,那么用户一直被“踢皮球”,不会得到处理。用户就要抓狂了!

PS:是不是想到了有关部门的处理方式,哈哈

作为客户,是体验差的问题;作为服务方,其实意味着客户的流失!

我们把这个问题,称为“事务转手”,服务方的负责人称为“代理”。“事务转手”的情况常常会有,“代理”如何处理才合理呢?

代理的处理方式及分析

1) 一杆到底

代理把问题提给接手的同学,处理完了,再把结果反馈给用户。

即代理“一杆到底”都处理了,用户不需要感知有转手这件事,体验最好。但问题是

  • 每次这样的处理,多了一次传手,效率低。
  • 如果每次都这么处理,事务便没有办法转交出去了,一直陷在里面。

2) 重定向用户到下一任去

重定向,即让用户去联系下一任。上文也提到可以会出现“踢皮球”的风险(这是一个不能接受的情况)。

另外,之前代理承诺了是负责该用户的,用户在要代理处理事务时,用户如果没有被事先告知代理有变化,那么之前代理承诺是没有变化的。所以,用户在要代理处理事务时,用户被重定向到A,代理并没有负责处理好(用户要做额外的联系工作,并不期望要做),这个“用户被重定向”是代理违背了自己的承诺!

PS: 这让我想到了“契约精神”!

上面2种处理方式很容易想到,但存在问题。从方法2的分析可以看出,一个关键点是“事先告知用户代理有变化”,展开说明如下:

  1. 如果事先告知了用户,那么用户应该去联系下一任,
  2. 如果没有事先告知了用户,那么这次处理用户不能被重定向。

结合上面的2点,得到了第三种处理方式。

3) 本次“一杆到底”处理;找出真正可以处理代理A并告知用户以后的事务已转交A

可以看出这个处理方式包含了1方式和2方式的内容。能避免前两种方式中会有的问题:

  1. 只有第一次有传手,不会每次都效率低。
  2. 避免 代理无法转交业务的问题(方法1)。代理处理了这一次,以后不用再处理这个用户了,业务转交成功。
  3. 代理没有违背承诺。
  4. 避免“踢皮球”这样恶性情况!因为使用这种方式,本次事务一定会得到直接处理。

细心的你可能发现,这种方式代理的第二步骤是

找出真正可以处理代理A”并告知用户以后的事务已转交A

为什么不是

告知用户以后的事务已转交自己的下一任

原因是这样可以避免下面的情况:

用户会连续多次被告知业务交给了下一任(当次的事务会被直接处理),如果下一任也转交了任务。

总结

从上面给出的方法中可以看到,应该提前通知用户事务转交的事情,让用户早有准备。

# 即广播变化后的代理信息。

当然最好的情况还是避免告知用户转交这种情况的发生。可以方法有:

用户联系的是一个稳定信息比如服务中心(像10086),而不是某个直接某个代理。

# 即从一个中心获得代理信息,而不是直接联系代理。

当然服务中心本身的信息同样面临这个问题,即可以会变更转手,不能使用服务中心的方式(否则这是死循环的方法了)。这是个小概率事件,并且要慎重处理。

事务处理关心的指标

  • 用户的体验:被重定向的次数、响应时间
  • 系统成本:处理效率/所用的资源

后记

这段时间在调研Paxos,看了Paxos相关论文。Paxos包含了很多代理间的交互,触发了生活中代理问题(由租房中介的事引起)的思考。

后面会整理出一系列Paxos分享来 

相关文章
|
存储 开发者 Python
Python中的collections模块与UserDict:用户自定义字典详解
【4月更文挑战第2天】在Python中,`collections.UserDict`是用于创建自定义字典行为的基类,它提供了一个可扩展的接口。通过继承`UserDict`,可以轻松添加或修改字典功能,如在`__init__`和`__setitem__`等方法中插入自定义逻辑。使用`UserDict`有助于保持代码可读性和可维护性,而不是直接继承内置的`dict`。例如,可以创建一个`LoggingDict`类,在设置键值对时记录操作。这样,开发者可以根据具体需求定制字典行为,同时保持对字典内部管理的抽象。
|
8月前
|
缓存 监控 JavaScript
Vue项目性能优化实战:从编码到部署的全链路优化方案
本文系统梳理Vue项目从编码到部署的全链路性能优化方案,涵盖组件设计、响应式优化、构建压缩、CDN加速、运行时监控等关键环节,结合实战代码,助力提升页面加载速度与交互流畅度。
429 0
|
8月前
|
运维 Kubernetes 微服务
微服务上云:基于ACK Kubernetes集群的容器化部署全流程
本文详解基于阿里云容器服务ACK的微服务容器化全流程,涵盖架构设计、集群搭建、应用编排、安全部署与可观测性实践,提供从本地到云端的落地指南,助力企业构建高弹性、高可用的云原生生产环境。
|
自然语言处理 安全 API
1688 跨境属性 API 接口(1688API 系列)
1688跨境属性API助力跨境电商发展,提供商品目标市场适配、跨境物流、国际认证及语言文化属性等数据,支持HTTP GET/POST请求。开发者可通过商品ID、目标市场代码和语言参数精准获取信息,提升业务效率与精准度。示例代码展示了如何使用Python进行GET请求,获取商品跨境属性,确保数据准确可靠。
基于智能电网系统的PQ并网控制器simulink建模与仿真
在MATLAB 2022a的Simulink环境中构建智能电网PQ并网控制器模型,实现对并网三相电压电流的精确控制及其收敛输出。PQ控制器根据实时需求调节有功与无功功率,确保电力系统稳定。通过测量、计算、比较、控制和执行五大环节,实现PQ参考值的跟踪,保证电能质量和系统稳定性。广泛适用于可再生能源并网场景。
基于智能电网系统的PQ并网控制器simulink建模与仿真
|
机器学习/深度学习 人工智能 自然语言处理
AI人工智能大模型的架构演进
随着深度学习的发展,AI大模型(Large Language Models, LLMs)在自然语言处理、计算机视觉等领域取得了革命性的进展。本文将详细探讨AI大模型的架构演进,包括从Transformer的提出到GPT、BERT、T5等模型的历史演变,并探讨这些模型的技术细节及其在现代人工智能中的核心作用。
1307 8
|
数据可视化 数据挖掘 新能源
2024年五大备受瞩目的数据可视化工具推荐
在当今数据驱动的时代,数据可视化工具已成为各行各业不可或缺的助手。这些工具不仅能够帮助用户更好地理解和分析数据,还能将数据转化为洞察,从而支持更明智的决策。以下是2024年五大备受瞩目的数据可视化工具推荐,每款工具都有其独特的优势和适用场景。
修改端口范围
1、查看命令 [root@www ~]# sysctl -a | grep local 或cat /proc/sys/net/ipv4/ip_local_port_range 2、修改端口范围 1)永久修改 vi /etc/sysctl.conf 添加下面一行: net.ipv4.ip_local_port_range = 1024 65535 然后执行: sysctl -p 生效。
1823 0
|
数据采集 XML JavaScript
猿人学-爬虫攻防大赛,题目讲解(五合一)1,2,3,4,7
该文章主要提供交流学习使用,请勿利用其进行不当行为! 如本篇文章侵犯了贵公司的隐私,请联系我立刻删除! 如因滥用解密技术而产生的风险与本人无关!
581 0
猿人学-爬虫攻防大赛,题目讲解(五合一)1,2,3,4,7
|
图形学
Unity——父子关系
Unity——父子关系
654 0