微服务是由一个企业提供的一个小的、单一的服务。它源自连接许多小型服务而不是拥有一项大型服务的分布式计算体系结构。能够最终靠应用程序编程接口(API)交付微服务。
API是请求者与主机之间进行通信的一种方法,通常能够最终靠IP地址进行访问。API可以向用户传达多种类型的信息,例如:
简而言之,谈论微服务必须与软件的体系结构做更多的事情,而API与如何将微服务公开给消费者有关。
微服务是从公司的大型单一服务的思想扩展而来。微服务是单个功能。如果将Microsoft Word拆分为微服务,也许会有一个服务作为空白纸提供,一个服务作为拼写检查器提供,一个服务作为格式化工具提供。
Kubernetes允许计算机软件做调整。Kubernetes有其自身的优势,它也推动了软件设计从单一的服务整体走向到许多一起工作的小型服务的集合。这些过程正是因为Kubernetes的设计可以做到:
微服务格外的简单。简单是主要的目标。可以将它们视为公司中的角色。一个微服务扮演着非常特殊的角色,并且只做一项工作。DZone汇集了Uber提供的各种微服务的出色图表,它们通过API相互通信并执行不同的任务。Uber为每个任务构建不同的服务:
微服务还能够最终靠体系架构图进行说明,其中一个微服务是通过API与另一服务通信的单个节点。随着将更多服务添加到系统上,体系结构可以发展壮大。能想象,大型公司的微服务体系结构图可能像一个小城市一样庞大。以下是假设的Amazon和Netflix图形:
是一种通信工具,它使一个服务与另一个服务进行交互。API本身无法执行任何操作,除非它已连接到某些东西。当该API连接到服务和微服务时,它将变得很有用,例如:
API是您可以将微服务分发给用户的方式。API无需下载软件,而是分发您的服务。API是微服务架构正常运行所必需的,因为API是其服务之间的通信工具。没有API,将会有很多断开的微服务。从技术上讲,微服务将再次构建为整体。
API能大大的提升服务的可用性和公开性。通过简化发行,您能够给大家提供较小的服务。(毕竟,您不必为了证明可行性而构建整个应用所有服务)。
许多API都是RESTful的,并通过HTTP之类的端点公开。这在某种程度上预示着从API访问信息就像查验URL一样容易。GET、POST、PUT、DELETE命令与URL一起能按预期工作,获取数据或将数据提供给API。尽管REST API在现代Web应用程序中最常见,但其他选项包括:
作为产品,API端点通常与开发门户一起提供,该门户告知研发人员怎么样去使用它并为研发人员分配API密钥。如果微服务的目标是在提供注册车辆的数据,那么开发门户将解释:
大多数好的微服务都有某种类型的API。如果您希望使用微服务,那么您将创建一个API。
IT和OT系统在现代企业中发挥着关键作用,IT系统主要侧重于支持业务流程,而OT系统则侧重于控制和监控工业流程。这两个领域正变得日益一体化,企业利用这两种类型系统的数据来提升整体效率。然而,它们在所需的安全级别方面也存在很大差异,IT系统更容易受到网络威胁,而OT系统更加孤立,需要遵守行业特定标准。
我们现在会定期听到关于最新的和最伟大的技术方面故事,从使用SD卡的计算机,到现在全世界都在使用云计算,企业在进行IT功能部署时,只需要20分钟以及信用卡来完成。尽管我们面临着很多的喧哗与骚动,大多数IT企业仍然将他们大多数的时间和金钱花费在更现实的应用开发上,ERP系统就是最大的开发成果之一。