什么是微服务?
为此微服务,微服务,但向一个简单的人解释什么是微服务? 我是一个简单的程序员,几乎没有任何理论背景。 但我不需要术语微服务来做我所做的事情。 有人能用简单的农民的话来解释我的微服务是什么吗? 亚马逊AWS = microservice?
我读过这个:https://en.wikipedia.org/wiki/Microservices,但显然我太愚蠢,不明白这是什么。
微服务在我自己,希望简单的条款
石柱
传统的Web应用程序很大。 您编写一个运行在服务器上的软件,并以HTML,XML或JSON的形式回答请求。 如果你想让你的web应用程序做一些新的事情,你可以将这个功能添加到现有的应用程序中。 这样的大系统被称为“单片”(一块巨石是一块非常大的岩石)。
巨石有问题,因为它们随着时间的推移通常会随着尺寸和复杂性而增长。 在团队中开发某些东西时,这是个问题。 开发人员将新代码添加到系统中,并且无法更改或重新使用现有代码,因为代码段之间存在很多依赖关系。 他们也害怕删除旧代码,因为它可能被用在某个地方。
当向客户提供这样的代码时,例如通过将其放置在互联网上,我们称之为“部署”。 在部署后进行部署和通常的测试很困难,因为在一个大系统中有很多事情可能会破坏。 找出发生了什么问题以及谁应该修复它是非常困难的,并且需要人们知道整个事情。
另一个缺点是可扩展性。 我们的意思是“我们怎样才能同时为更多的用户提供服务?” 一台Web服务器计算机只能处理一定数量的用户并行访问它。 将该计算机升级为更好的硬件可以为更多用户提供服务,但您很快就会遇到硬件可能出现的问题。 这种升级称为垂直缩放。 我们也可以将我们的Web应用程序放在两个或更多的服务器上,以便我们可以处理更多的用户。 这称为水平缩放。 传统上,单片应用只考虑垂直缩放。
微服务
为了简化大应用程序的工作流程,我们可以将它分成更小的部分。 每个部分都有一个特定的用途。 我们称之为“(网络)服务”。 这些Web服务使用起来非常灵活。 您可以在现有的整体应用程序中使用它们,无论是在服务器部分还是在客户端部分。 您也可以使用其他Web服务的Web服务。
拆分为单个Web服务允许您松散地耦合您的应用程序。 这意味着作为服务的用户,您只能依赖服务的启动,可用和工作。 您不再需要照顾其依赖项,编译,部署或测试。
您可以将责任交给不同的开发人员或团队。 您不能通过源代码访问它,因此无法打破他们的Web服务。 他们甚至可以使用不同的编程语言,你仍然可以使用他们的服务。
这种独立性是通过决定使用通用格式和通用协议(协议是一种通信方式)而实现的。 对于Web服务,最流行的格式是JSON和XML。 最常用的协议是HTTP,因为它很简单,所有现有软件都支持并且您的浏览器也在使用它。
“微服务”中的“微”一词强调了让这些Web服务尽可能小的想法。 如果您需要更复杂的服务,通常最好创建一个依赖于一个或多个其他服务的新服务。
例
假设您有一个应用程序,用户可以在其中创建虚拟明信片。 这是如何使用微服务体系结构实现这样的应用程序。
他们如何连线:
微服务的合适词是合适的大小服务。 范围和大小微服务应基于以下内容