2017年1月16日周二晚8点30分,青云QingCloud 容器平台负责人王渊命带来了主题为“基础设施服务的微服务化”的交流。以下是主持人小媛子整理的问题精华,记录了老王和读者间问答的精彩片段。
问:能说说创业小公司在微服务架构设计中的经验吗?在保证有限人力和敏捷开发的前提下,怎么设计一套自己的微服务体系?
答:说实话,微服务现在框架以及注册中心以及生态的成熟度还没有达到开箱即用的地步,如果是初创公司,首先要确保有人能把控整个系统,否则贸然上微服务适得其反。
我觉得上微服务要先回答几个问题:
- 为什么要上微服务?是为了解决当前的研发交付效率问题还是为了方便以后的扩展或者变更?前者的紧迫性大于后者。如果仅仅是后者的话,个人建议等业务模式验证后再进行微服务拆分,而不是创业初期就立刻使用微服务模式。
- 团队对新技术的接纳度如何?能否随着微服务技术的演进而跟进。微服务要伴随着自动化持续交付,以及服务管理和治理工具(主要是解决大量微服务的管理问题),而当前这些系统都在快速演进,需要有精力持续跟进。
综合说一下,建议初创团队谨慎采用微服务,不过可以借鉴思路。比如先从自动化持续交付做起,然后再上线容器编排,再搞服务拆分以及治理。
如果以上都搞定的情况下,自己设计微服务体系,首先是选择一个注册中心 etcd, zookeeper, consul, eureka 等。个人其实是比较看好 consul, eureka 这样专门的服务注册中心的,因为现在微服务最大的一个问题是注册中心的服务元数据格式没有标准。其次选择一种远程通讯协议和框架。拆分自己的业务其实是相对简单的,可以根据数据的隔离以及团队结构进行拆分。

