专栏首页架构进阶怎样做好服务提供方

怎样做好服务提供方

一 摘要

在日常的开发中,我们经常会接触到服务方、服务商、服务提供方这类的角色。简单来说,就是提供服务让我们使用。本篇会展开思考,如果我们作为服务提供方,那么应该做到哪些,才能保证服务的提供是“好”的。

二 概念

2.1 什么服务

这个“服务”,可能是具体一点的资源对象,也可能是一些业务能力的抽象,还可能是支持类的能力提供。

2.2 服务对象

服务对象,可以理解为是我们的“客户”。大家有过相关经验的都能够理解,当面向不同的客户时,我们提供的内容或提供方式会有所差别,这是由客户本身的特性和需求决定的。例如,不同行业的客户需求千差万别,大中小客户在沟通方式、对接能力、回款能力等诸多方面都相差悬殊,如果我们要覆盖最广泛的用户,那么就必须做好抉择:是只提供共性需求,还是也要支持定制化的部分?

当然,比较理想的考虑是支持定制化,这可以扩大能力覆盖的客户范围,可以争取更多的项目和资金。但必须要注意的是,过多的定制化需求会导致无法聚焦,差异越大,共性的东西可能就越少。极端情况,几乎所有都是定制化开发,只有很少的一部分可以复用,那么必然很难沉淀产品,同时也会极大地占用沟通、开发资源,疲于应对。必须在二者之间做好取舍(至少是比例上)。

2.3 怎样提供服务

几个核心问题:1)提供形式,产品 or 功能接口?2)功能列表;3)计费方式;4)安全保障;5)交付时间 &付款方式。

这些,其实在阿里云、华为云、高德地图 API 等服务提供方已经有非常经典的提供模式。特征鲜明的官网,完善的使用、计费、说明文档,简单便捷的示例说明,以及最佳实践和问题解答/工单系统,从上述多个角度确保了服务提供的完整和质量保障。

三 开发人员之间的服务提供

以上更接近于通用产品/服务类型的实现。作为技术开发/管理者,让我们把视角拉回到开发人员,当 A 服务需要 B 服务提供一些功能时,通常是采用服务接口的形式进行调用。如何做好服务提供?

3.1 真的很简单吗?

相信很多人会不假思索地回答,这有什么难的,提供接口文档就好了,需要再拉群沟通,必要时拉会当面对接问题。

没错,确实大家都是这样做的。但效果真的都很好吗?显然不是!经历过不只一个项目,收到的接口文档并不完整,数据格式与环境中看到的并不相同,联调环境并不稳定甚至经常挂掉,问题职责不清。。一系列问题都直接影响着使用者的对接进度和工作心态。除了一部分情况是使用方能力导致的以外,更多情况是服务提供方并没有做好“服务”者的职责。

3.2 接口文档

接口文档是必不可少的,但应该如何组织和描述,却并不简单。简单的接口地址、请求方式、参数说明、返回值格式 &示例,功能说明,这些都属于必须包含的内容,但还远远不够。

很多提供方是站在自己的角度来组织和描述的,而并没有站在使用者的角度。一定要先明确,我所做的服务,是要给他人使用的,这点至关重要!

3.3 环境 &资源

服务的环境要确保稳定,在联调、测试时服务频繁中断是让人无法接受甚至崩溃的。不稳定的服务其实并不应该对外暴露。只不过现实中由于排期所限,经常会有并行开发和 mock 联调的情况,所以不得不接受。但稳定性保障其实应该是必备的。

3.4 完善的更新、变更通知机制

服务发布后也会有迭代更新,如果是无关功能的优化,那么对使用方的影响还比较小。但如果对接方式、功能、参数/返回值这样的调整,不及时做好通知和及时修改,必然会给使用方带来损失,而也会直接影响提供方的信任程度。

尽可能做好兼容,确保用户无感知的升级;如果不得已有影响到客户的重大调整,那么必须及时告知,并协助限期完成修改,避免调整后影响使用。

四 总结

做好服务提供方,还不止文中提到的这点内容。这里只做为抛砖引玉,希望引起大家的深入思考。

本文分享自微信公众号 - 程序员架构进阶(flaming28sky),作者:程序员架构进阶

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-05-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 怎样做好服务提供方

    在日常的开发中,我们经常会接触到服务方、服务商、服务提供方这类的角色。简单来说,就是提供服务让我们使用。本篇会展开思考,如果我们作为服务提供方,那么应该做到哪些...

    程序员架构进阶
  • 如果云计算服务提供商停止提供服务,用户该怎么办?

    企业在决定采用特定的云计算提供商的服务时,执行尽职调查至关重要,应该评估与提供商合作的风险。此外,IT部门必须确保业务用户参与决策过程,并了解将数据迁移到云端的...

    静一
  • [dubbo 源码之 ]1. 服务提供方如何发布服务

    服务提供方在启动部署时,dubbo会调用ServiceConfig#export来激活服务发布流程,如下所示:

    Isaac Zhang
  • redis到底能提供怎样的解决方案?

    Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lis...

    架构师修行之路
  • 企业服务增长之道(5):怎样才是提供定制服务的正确姿势?

    做定制,是企业服务业内经久不衰的老话题。总有人会认为,在一个阶段内,对于做不做定制,怎么做定制,已经形成了非常明确的结论。但过了一段时间,做不做定制,怎么做定制...

    谢秉航
  • 企业怎么做好服务器安全防护?

    大家都知道,服务器对于所有企业都必不可少,服务器的安全关系着公司整个网络以及所有数据的安全。所以,服务器的安全管理是企业必须重点关注的。

    墨者安全科技
  • 查看服务市场镜像提供商方法

    前言:服务市场的镜像,镜像提供商都有提供镜像的使用方法,以及镜像使用方面有什么问题,可以直接联系镜像提供商处理。

    cdc
  • Dubbo剖析-服务提供方Invoker到Exporter的转换

    前面dubbo整体架构分析里面我们讲解了服务提供者暴露一个服务的详细过程是,首先具体服务的实现类转换为了Invoker对象,然后Invoker在转换为Expor...

    加多
  • 推荐系统提供web服务的2种方式

    推荐系统是一种信息过滤技术,通过从用户行为中挖掘用户兴趣偏好,为用户提供个性化的信息,减少用户的找寻时间,降低用户的决策成本,让用户更加被动地消费信息。推荐系统...

    石晓文

扫码关注云+社区

领取腾讯云代金券