好的服务如何开发设计

白天写bug,晚上改bug。这似乎成了开发人员一种长期加班又苦于无果的自嘲罢了。那么,我们是否在一个项目结束后对项目进行总结性的反思,问题究竟出在哪里,为什么会有这么多问题。我想作为一个开发人员不仅仅是要善于解决问题,更重要的是要如何反思问题,归纳总结,然后找到方案,一劳永逸。如果只是一味的前进,不进行反思,那么我们将永远得不到进步。借用一句佛语:苦海无边回头是岸。这句话就是告诫我们,在我们很迷茫很无奈,很辛苦无计可施的时候,为什么我们不回头看看,对自己的行为和问题进行反思,然后在加以处理。好的服务,一定是设计出来的。前期的设计,我们需要考虑的是,可扩展性,高可用性,可重复利用性。那么我们就从这三个方面来谈谈服务设计。

可扩展性这个是我们在做服务接口开发的时候,要考虑到后期的需求变更,如何快速适应变更的需要。还有随着业务发展的壮大,形形色色的业务接入进来,我们应该如何去控制。这就好比这里面有个池子,有许许多多的进水管道。一天我发现池子里面的水进来写垃圾,这个时候,我的需要轻松的对进水管道进行过滤,这样问题就解决。但是我们不能因为过滤进入水中来的垃圾,从而造成了水不能流入池子里面。这样设计简直糟糕透了,所以我们在这个方面一定要遵循开闭原则。那么什么是开闭原则,我们简单的一句话来进行概括,应该对于扩展是开放的,对修改是关闭的。为什么使用开闭原则?1、只要是面向对象的编程,在开发过程中都会强调开闭原则2、是最基础的设计原则,其他五个设计原则都是开闭原则的具体形态3、可以提高代码的复用性4、可以提高代码的可维护性。

高可用性这个就需要我们提供的服务能保证业务正常运转而不出一点出错。那么我们应该从那些方面入手才能达到这些要求呢?首先,我认为,我们提供的服务具有高容错性,这个对我们有很大的考验。首先我们在设计和架构上就得考虑到很多业务场景,然后每种业务场景都有其相对应的策略去解决问题。当然,这里更值得我们深思的是使用这种技术架构存在的弊端,我们如何去通过其他手段来弥补,这种架构方案不足带来的数据和业务的完整性。同时也需要考虑到,系统架构后期如何演化对当前的现有的流程模式进行兼容。其实对现有已成熟的业务进行架构调整推送是具有很大的挑战性,首先,我们得有计划有步骤的进行。首先得保证现有的业务稳定进行,其他才是要考虑到老的系统架构如何进行大规模迁移到新的系统架构。那么我们在做系统架构的时候,就要采用多步走战略,每一步进行的战略都要起到承上启下的作用,并且后续步骤具有延展性解决方案存在的漏洞。

可重复利用可重复利用,简而言之就是不要重复造轮子,利用现有的资源。轮子这个东西,说起来人人都会造,但是,轮子造的好,没有什么漏洞这个是要体现技术活。首先,我们造轮子,一定要有大局观和全局概念,做到进可攻退可守。什么意思呢,轮子其实就是一个工具,这个工具无论放在何种环境中,他都会发挥和体现出他自身的价值,不会因为环境的不同而出现其他的问题。其实在可重复利用上面,我们千万不要过度的去重复利用,这样只会导致系统的设计变得越来越复杂的。可重复利用是在一定的范围内,什么事情都有一个度,太过了就可能不合适了。所以,架构的服务于业务,在业务不停的变换中进行适度的调整。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

山不在高_有仙则灵

你的奖励是我的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值