如何写微服务的文档?

前段时间,参与了一个SaaS产品的研发,产品的架构是基于Spring Cloud的微服务架构。产品被拆分为多个微服务,每个微服务都有自己的文档(word版)。这些文档包括需求说明书、概要设计说明书、详细设计说明书、项目立项书等等。但是,在开发微服务的过程中,发现这些文档有如下缺点:

  • 更新不及时或者写完就没有责任人维护了。
  • 文档上只列出了编写人(有可能就是一个人),而不是该服务的开发团队。
  • 分了很多的word文档(需求分析、详细设计等等),信息都被分散了,找起来很麻烦。
  • 这些文档都是按照标准的软件开发阶段文档格式来编写的,对微服务描述不够仔细。
  • 这些文档一般都是在svn上,访问起来不方便。
  • 有些文档基本没啥用,有问题还是要找人来问。

那么,在微服务架构下,我们到底应该需要什么样的文档?

最近在阅读《生产微服务》和《微服务架构与实践》时,发现这两本书中给出了很好的解释和实践。

我们需要为每个微服务编写一个服务描述文件。服务描述文件和代码一样,都是微服务的组成部分,微服务团队有责任维护服务描述文件。服务描述文件的质量也是衡量团队指标之一。

建议使用在线的wiki来编写服务描述文件,而不是word文档。具体如何编写,请参考如下内容:

指导原则

  • 落实团队责任制。
  • 每个微服务都要有详尽的文档。
  • 文档要定期更新。
  • 文档要包含如下内容:微服务描述、架构图、待命人员的信息、重要信息的链接、开发上手指南、微服务请求消息流、端点的信息、依赖项的信息、运行手册、以及常见问题答疑。
  • 文档能被开发人员、团队和组织所理解。
  • 文档要符合生产就绪标准并且满足相关要求。
  • 文档要经过评审。

模板结构

  • 1 服务介绍

  • 2 服务维护者
    记录服务的开发、测试、运维人员,要有姓名、岗位、联系方式(邮件、QQ、手机等),要能直接联系到个人

  • 3 服务可用等级(SLA)
    服务的SLA说明(可用时间,服务保证等)

  • 4 运行环境

  • 5 开发指南

    • 5.1 开发环境搭建
      jdk的安装,IDE的安装,插件的安装,以及其它的相关教程
    • 5.2 编程规范
    • 5.3 代码库
    • 5.4 如何运行服务
    • 5.5 如何调试
    • 5.6 其它
      任何有助于开发人员上手的信息
  • 6 测试

    • 6.1 测试策略
    • 6.2 如果运行测试
    • 6.3 测试总结
      统计结果,bug,性能,指标等等
  • 7 构建

    • 7.1 持续集成环境
    • 7.2 持续集成流程描述
    • 7.3 构建后的部署发布
  • 8 部署

    • 8.1 如何部署到不同的环境
    • 8.2 部署后的功能验证
  • 9 运维手册

    • 9.1 日志聚合访问URL
    • 9.2 监控聚合访问URL
    • 9.3 事故处理流程
    • 9.4 用于诊断、缓解、解决告警问题的分步操作指南
    • 9.5 如何排查和调试问题
  • 10 API端点
    详细描述服务包含的API端点的信息或者API端点在线文档的URL(比如swagger)

  • 11 问答章节
    收集常见的问题,并给出解答

参考资料:
《生产微服务》
《微服务架构与实践》

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,682评论 6 507
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,277评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,083评论 0 355
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,763评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,785评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,624评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,358评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,261评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,722评论 1 315
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,900评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,030评论 1 350
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,737评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,360评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,941评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,057评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,237评论 3 371
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,976评论 2 355

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,659评论 18 139
  • “微服务架构”这一术语在前几年横空出世,用于描述这样一种特定的软件设计方法,即以若干组可独立部署的服务的方式进行软...
    ThoughtWorks阅读 16,911评论 1 71
  • 微服务最近非常流行,各大互联网公司纷纷采用微服务架构体系,微服务架构模式正在为敏捷部署以及复杂企业应用实施提供巨大...
    Sting阅读 9,082评论 0 57
  • 一、微服务将变得轻量级 架构需要由人去设计,这些人被称为架构师。或许很多人并未授予架构师的头衔,但自己却从事着架构...
    justmilkrain阅读 5,431评论 10 109
  • 1. 微服务架构介绍 1.1 什么是微服务架构? 形像一点来说,微服务架构就像搭积木,每个微服务都是一个零件,并使...
    静修佛缘阅读 6,643评论 0 39