微服务
是什么
微服务是一种利用云原生技术进行应用开发的现代方法。虽然 Netflix 这类现代应用程序看起来是一个单体应用,但它们实际上是许多较小的服务组成的集合 —— 所有的服务都密切配合。 例如,一个允许你访问、搜索和预览视频的单一页面很可能是由较小的服务提供的,它们各自处理其中的一个方面(如搜索、认证和在浏览器中进行预览)。 简而言之,微服务指的是一种应用架构模式,通常与单体应用形成对比。
解决的问题
微服务是对单体应用所带来的挑战的一种回应。一般来说,一个应用程序的不同部分需要分别进行伸缩。 例如,一个在线商店除了结账之外还有更多的产品视图。这意味着你除了结账之外,还需要运行更多的产品视图功能。 在一个单体应用中,这些逻辑位不能被单独部署。如果你不能单独扩展产品功能,你将不得不复制整个应用程序和所有其他你不需要的组件 —— 这是一种低效的资源利用方式。 单体应用也使开发人员容易屈服于设计陷阱。因为所有的代码都在一个地方,所以更容易使这些代码高耦合,更难执行关注点分离的原则。 单体应用通常要求开发人员了解整个代码库,然后才能有成效。
如何帮助
将功能分离成不同的微服务,使它们更容易独立部署、更新和扩展。通过允许不同的团队在更大的应用中专注于他们所属的那一小部分,也让他们更容易在不对组织的其他部分产生负面影响的情况下来处理他们的应用。 虽然微服务解决了许多问题,但它们也产生了运营开销 —— 你需要部署和跟踪的东西增加了一个数量级或更多。许多云原生技术旨在使微服务更容易部署和管理。
反馈意见
本页是否有帮助?
Thank you! Please let us know if you have any suggestions.
Thanks for your feedback. Please tell us how we can improve.