技术开发 频道

微服务的优劣 不要将它视为“微”服务

    【IT168 评论】微服务并不意味着小型应用。在纽约召开的Oracle代码开发者大会上,Eventuate的创始人Chris Richardson表示,微服务一个应用架构,可帮助企业和程序员将其单片应用程序分解为单独的服务,尤其是是事务性微服务的创业者。

微服务的优劣 不要将它视为“微”服务

  Richardson说:微服务架构作为一个术语,当你第一次听到,可能会记住“微”这个词,也会理解为服务应该很小。而简而言之,它是一种架构风格,它将应用程序构建为一组松散耦合的应用程序。

  Richardson强调,程序员应该将“微”视为视为服务架构或分布式架构。在应用程序架构中,需要提供的关键特性是程序员能够轻松维护,演进,测试和部署系统,大小是次要的。这四个特征是重要的,因为企业希望由于商业压力和持续发展而更快地创新。 “这对软件开发商来说意味着必须更快地构建更好的软件。必须更好地跟上业务,更及时地开发软件,所以软件可能会更加复杂。

  所以,微服务器的要点不是很小,而是实现有意义的业务功能,由小型团队开发,并提供最短的交付时间和高部署频率。由于微服务将单片应用程序分解为一组可独立部署的服务,因此程序员可以轻松维护代码,轻松开发技术栈并进行测试。因此,根据Richardson的说法,微服务是连续交付的关键推动因素,因为架构更容易测试和部署。

  然而,就像所有的技术一样,微服务也并不完美。微服务由于数据分布在不同的服务上而变得更加复杂,并且与单片架构相比,还有更多的移动部件需要部署,管理和监控。在同样的情况下,整体式架构可能并不是一个更好的途径。

  单片架构简单,并将应用程序构造为单个可执行单元。他说:如果我们正在建立一个小的整体系统,这不一定是坏事。像微服务一样,小型整体系统易于维护,演进,测试和部署。问题是当你有一个成功的应用程序,开发不能中断。不断增长的应用程序,以及添加更多的代码直到结束,Richardson将其称之为“整体地狱”(monolithic hell)。

  他说:“这种发展会形成令人难以置信的痛苦局面。这个单一的系统对于任何人来说都太复杂了,并且无法模块化,因为没有人清楚结构是怎样。所以会出现结构巨大,测试和部署时间长,不再敏捷,成本高昂,以及带来风险,使得你要做出技术的改变。

  为了找出最适合企业的应用架构,企业需要问自己,微服务是否适合,如果值得增加复杂性。Richardson建议,如果企业决定选择微服务路径,建议企业查看微服务的模式语言,以帮助指导他们的决策和处理问题。微服务对于复杂的应用来说值得推荐。

0
相关文章