微服务架构的前提条件,它适合什么样的团队?

微服务已经火遍全球,看了很多微服务架构的相关知识与经验,但是我发现,很少有人在说到微服务架构的基础配置,就好比一台服务器要运行吊炸天的 Docker ,但是基础配置跟不上,完全就玩不起来。

毋庸置疑的,微服务的确会给开发和运维上带来革命性的提升,但是它也有一些前提条件,并不是拿来就可以用的东西,必须考虑公司和团队是否具备足够的条件来实施微服务,否则,适得其反。微服务,需要仔细斟酌。

微服务的采用会产生出各种复杂性,例如:成千上百个服务的管理、多服务串联的测试、服务间的通信、如何保证微服务接口的幂等性、以及最终一致性等。这些复杂性对转向微服务架构提出了非常大的挑战,它需要多种技术和工具来支持。在对待已有的系统向微服务迁移,这个过程会比比预期时间更长。

我们可以来看一看实施微服务架构的一些前提条件: 

  • 自动化持续集成环境,服务会非常多,编译和部署会非常频繁,所以需要有自动化的持续集成的环境,并尽可能快的部署它们,不管是测试环境还是生产环境。
  • 前后端分离组织架构,后端数据逻辑是稳定变动少的,前端页面变更是频繁多变的,所以需要前后端分离应用,减少前端变更而导致后端跟着变化的可能。
  •  团队的成熟度,团队中的每个人都对微服务有足够的认识,并能够轻松的搭建微服务生态系统。建立一个微服务生态系统需要花费较多的时间,以及多种技术和工具。微服务生态系统包括:监控、日志追踪、中心配置、API网关、服务发现、测试(包括API)和开发沙箱环境等。微服生态系统的一系列工具包括:Jenkins、GitLab、Docker、Spring Cloud、Zookeeper等等;

猜你喜欢

转载自my.oschina.net/u/1994934/blog/1523414