@Rays
2017-07-18T18:55:05.000000Z
字数 1020
阅读 1710
微服务
摘要: 近期在QCon 2017纽约大会上,Just Software的CTO Susanne Kaiser做演讲介绍了她的团队是如何实现从单体应用架构转到微服务模型的。
作者: Srini Penchikala
正文:
近期在QCon 2017纽约大会上,Just Software的CTO Susanne Kaiser做演讲介绍了她的团队是如何实现从单体应用架构转向微服务模型的。
微服务的采纳会伴生有各种复杂性,诸如相互独立的多个服务、运营和通信的复杂性、分区的数据,以及最终一致性的复杂性。这些复杂性对转向微服务提出了一些挑战,例如需要多种技术和工具、核心功能的厘清等。团队依然需要谨慎对待已有的系统,并且转变过程需要比预期更长的时间。
Kaiser指出,事实上从单体应用转向微服务的过程是革命性的。他们转向微服务的做法包括了如下的步骤:
微服务建模的核心理念,是建立服务和服务中高度内聚间的松耦合。团队识别了微服务间具有良好定义业务功能的界限环境。候选服务的分解采用如下步骤完成:
她还介绍了他们是如何处理服务认证的。一开始他们采用了一种去中心化的模型,但是考虑到认证是一个横切关注点,他们不再让模型是去中心化的。认证基于领域对象层,每个领域对象具有自己的认证处理机制。
微服务生态系统包括CI/CD流水线、监控、日志追踪、中心配置、API网关、服务发现、针对故障的设计、测试(包括API)和开发沙箱环境。他们使用了一系列工具去支持该生态系统,包括Jenkins、Ansible、Prometheus, Grafana、Spring Cloud (Sleuth、Zipkin, Config)、Pact (CDC-Testing)、Netflix OSS框架(Hystrix、Zuul、Eureka、Ribbon)、Vagrant和VirtualBox。
在演讲的最后,Kaiser总结了他们在微服务转化过程中的经验教训。建立一个微服务生态系统需要一些时间,以及多种技术和工具。由于他们不具备一个明确的架构团队,这延缓了该过程的实现。此外,并不推荐一开始就对大块服务做分解。总而言之,他们转向微服务的过程花费了比先前预期更长的时间。
查看英文原文: Susanne Kaiser on Microservices Journey from a Startup Perspective