如果您身处技术领域,并且生活在地球上,那么您可能听说过“微服务”一词。它几乎成了一个流行词。本文的目的是让您熟悉微服务及其(不是“它们”)的功能。
微服务
1.
微服务不仅仅是一个流行词。它在云计算环境中的使用越来越普遍。它正在成为在云中构建应用程序的事实上的方法。尽管名字如此,但微服务并不是一小段代码。事实上,使用微服务架构的应用程序通常比单片应用程序代码更繁重。然而,当需要灵活性、可扩展性和更快的速度时,使用微服务构建应用程序的优势远远超过其缺陷。
2.
微服务是一种架构。它是构建计算机应用程序的结构,而不是应用程序本身。这个名字源于应用程序中的每个模块执行一项服务或功能(有关这方面的更多内容,请参阅下面的第 3 项和第 4 项)。如果这听起来模棱两可,那是因为坦率地说,它确实如此。
3.在单片架构环境中,更改应用程序的一个方面 德国电报数据 需要更改整个应用程序。微服务可以解决这个问题,因为每个模块或服务都独立于其他模块或服务存在。
4.
微服务架构将应用程序的各种功能模块化,这意味着开发人员可以修改一项功能而不会破坏其他功能。服务通过轻量级消息传递协议相互通信。(如果没有通信协议,微服务架构就不可能以目前的形式存在。)
例如,如果电子商务应用程序每周向访问者发送推送通知,并且电子商务商店想要增加该频率,则可以在单个模块内完成,而不必重新设计整个应用程序。
再举一个例子,当有人访问典型的电子商务商店购物时,浏览或搜索功能将是一项服务,而购买功能将是另一项服务。在传统的单片应用程序架构中,如果商家想要增强搜索功能,则可能会破坏购买功能。如果电子商务网站是使用微服务架构构建的,则这两个功能将没有任何相互依赖性。
考虑典型电子商务应用程序的所有其他功能部分:库存跟踪、会计、报告等。在微服务环境中,这些都是彼此独立的,无需修改整个应用程序即可实现修改、可扩展性和灵活性。
最后一个例子是,假设一家商业智能应用软件公司想与欧洲公司开展更多业务。要做到这一点,需要增加使用公制进行某些计算的能力。在单片应用程序中,这需要重新设计整个应用程序;在微服务环境中,所有开发都将在计算模块中进行。完成后,可以根据需要轻松添加扩展模块。
5.
微服务更安全。考虑到恶意黑客社区的不断进步,这种说法可能有点冒险。但是,由于微服务模块是容器化的,因此它们与应用程序的其余部分是隔离的。如果一个架构良好的微服务模块被黑客入侵,它不一定能让黑客访问整个应用程序,而只能访问该模块。