来生做只猫,无忧无烦恼。
我们的系统上线了
我们的系统上线了,但BUG不断。
- 开发水平参次不齐
- 事务一致性难以保证
- 无法达到预期性能指标
- 潜在问题层出不穷
开发水平参次不齐
团队协作,是团队的核心竞争力。作为领导者,都希望自己的团队和谐,能力出众。但现实告诉我们,这不是现实。
我们面临的困境比想象中的更加严重。
而分布式给开发团队带来的开发和调试消耗不停的蚕食着项目的成本。
事务一致性难以保证
拥有有事务一致性
的中间件,但很多时候,我们并合理的使用它。
这就像一个潜藏在系统内的核弹,随时准备爆炸。
而没有人去关注它。
无法达到预期性能指标
项目最后,已经没有成本对系统进行重构和优化。
只能加缓存了。
于是整个系统变得更加畸形,但我们没有成本了。
潜在问题层出不穷
生产环境总是出现奇奇怪怪的问题。
团队每日都心力憔悴。
我们部署了大量的服务器,却不能兑现价值。
客户很失望。
我们在检讨自己
在种种压力下,团队内部越来越不和谐,我们知道,我们需要检讨自己。头脑风暴
、名义小组
等等手段在检讨会上被使用。
我们都做了什么?
我们预期中的系统是一个很美好的系统。
- 可靠性、高容错性
- 可扩展性
- 高性能
- 灵活性
但我们的系统却是故障频发
、故障排除难度高
、性能瓶颈
、服务质量差
等等问题。
我们还能做什么?
- 时间和成本决定了,我们不可能短时间内解决所有问题。我们只能优先克服最关键的问题。
- 我们必须针对系统日志进行全面分析,在客户之前发现潜在问题,希望这可以让客户走出失望的情绪。
- 团队建设,达成目标一致。
我们怎么办?
- 防止抱怨、埋怨的情绪在团队内蔓延。
- 同质化严重的问题集中解决。
- 相信我们能够做好。
- 我们尽力了。
时间为我们作证
时间证明我们是对的。
分布式系统虽然会带来一些新的问题,但我们有能力解决或者避免这些问题。
当我们解决完所有问题后,聚在一起的时候,已经没有人觉得分布式系统是多余的了。而造成这种假象的最根本问题是,成本
。
在完成同一个功能的条件下,分布式系统会花费比正常情况更多的时间和精力,团队一直在快速跟进
,进度成为制约我们的一把枷锁。
总之
没有什么一步到位的系统架构。
在合适的位置使用合适的技术。
所以,无论体系如何成熟,最好都有一个演进的过程。
这样,在需要的时候,引入合适的技术或者中间件,防止过度设计。
还是来生做只猫吧。