16、外部系统难题与六边形架构解决方案

外部系统难题与六边形架构解决方案

1. 外部系统带来的难题

在软件开发过程中,外部系统常常给我们带来诸多挑战,以下是一些常见的问题:
- 环境问题 :软件运行的环境往往会引发各种挑战。例如,当代码从数据库读取数据时,即便代码本身无误,也可能因不可控的环境问题而无法读取数据。这些问题包括:
- 网络连接中断 :可能是本地网线误拔,或者数据库托管在互联网上,而网络服务提供商中断了连接。
- 电源故障 :数据库服务器或本地网络交换机停电,会使数据库无法访问。
- 设备限制 :数据库服务器磁盘空间不足无法运行,或者编写的查询由于缺少索引而执行时间过长。
- 测试数据问题 :即使代码能够访问数据库中的数据,在测试时也并非易事。比如编写一个测试来验证能否正确读取生产数据库中的用户名,我们并不知道应该读取哪个用户名,因为测试无法控制添加的数据。若在测试中添加一个已知的测试用户名,又会创建一个可能被真实用户交互的虚假用户。此外,对数据库进行测试时,如果之前运行过该测试,测试用户名可能已存在于数据库中,导致数据库报告重复项错误,测试失败。而且,测试完成后需要清理测试数据,但如果在测试成功后删除数据,测试失败时删除代码可能无法运行;若在测试前删除数据,测试运行速度会变慢。
- 意外触发真实交易 :当代码仅能访问生产系统时,每次使用该代码都会在生产环境中产生实际影响。例如,支付处理器可能会发起收费,真实银行账户可能会被扣款,警报可能会被触发导致实际疏散。夏威

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值