内容简介:使用微服务构建云Web服务
使用微服务构建云Web服务提供了一些优点,诸如可扩展性等,并允许企业应用程序访问新功能和工具。
亚马逊公司和微软公司作为行业领先的公共云提供商,都提供了几十个Web服务,每个Web服务代表一个有用的应用程序功能或工具,用户可以通过API进行调用。在表面上,这些产品看起来很像微服务。
微服务(如云Web服务)不是单个应用程序的一部分,而是为应用程序提供一般资源。几个不同的应用程序和许多用户可以同时访问微服务,就像云web服务一样。微服务还具有响应负载进行扩展的能力,并且如果其底层资源失败,还可以替换自身,就像云web服务一样。
使用微服务构建自己的云Web服务的唯一问题是,它并不总是清楚微服务所需的属性。云计算架构师可能无法以正确的方式部署微服务,因此降低了微服务提供云Web服务特性的价值。这就是为什么规划微服务部署是至关重要的原因。
使用微服务创建云Web服务
使用微服务构建自己的云Web服务的第一步是确定要定位的一般功能。访问Amazon Web Services或Azure云网站,并从分析到安全相关,查看自己的网络服务库存。查看哪些服务对自己的应用程序最有用,但不要复制其他的公共提供程序,因为组织自己的需求可能更专业,而不是关注单个应用程序或应用程序组。
与云计算提供商的Web服务不同,微服务通常以与传统云应用程序组件相同的方式托管。
下一步是规划自己的访问。大多数应用程序组件设计为在应用程序内访问,而不是从外部访问。组织的微服务必须能够在所有应用程序中访问。考虑创建一个微服务子网,其中部署了所有的微服务。然后,将每个微服务API公开到组织的VPN上以供一般用途。
请确保自己的微服务不会造成安全或合规性问题。因为微服务是可公开寻址的,并且在应用程序之间共享,它们可能导致信息泄漏。而其解决方案是要求用于微服务访问的凭证,通过各种技术(例如加密和安全密钥)来识别应用或用户。
但是如果微服务设计不正确,则安全访问可能不够。在使用时,应用程序经常在其存储系统中留下一些数据,这些数据可能会危及安全性,并使得微服务难以扩展。程序员应该尽可能开发无状态微服务,并且避免在编写微服务时在软件中保存任何数据。
一旦组织确定目标Web服务并确保其微服务的安全访问,这时应考虑其可移植性。与云计算提供商的Web服务不同,微服务通常以与传统云应用程序组件相同的方式托管。如果组织计划为微服务进行混合或多云部署,请确保可以访问微服务,无论它们是托管在哪里。这可能需要维护不同的机器映像,以及涉及的各种公共和私有云平台的DevOps模型。
DevOps工具及其正确使用对于使微服务真正用作云Web服务至关重要。微服务应该作为一系列部署单元,用于他们目标的每个云。这些部署单元又由微服务的更高级组件模型管理。更高级别的模型还定义了在组件缩放过程中如何处理负载均衡。为了使这种方法奏效,DevOps工具必须支持事件处理,并且表示需要缩放微服务的条件必须生成适当的事件。
云web服务的一个隐藏的但关键的属性是性能弹性。如果公共云提供商具有通过负载平衡来提升实例弹性的工具,可以使用它们构建弹性微服务。但是,这些 工具 是云Web服务,可能无法从每个提供商处获得,它们也可能不适用于私有云部署。这使得必须为组织所需要支持的每个部署模型(从公共云和私有云到云爆发,故障转移和水平扩展)布置其需要的功能,以及如何处理负载平衡和可扩展性。
考虑在组织使用的每个云中部署每个微服务的版本。这消除了跨越云边界缩放微服务的需要,或者一个云中的应用程序必须访问另一个云服务中的微服务。这将有助于确保组织的云Web服务的可移植性。
使用上述步骤准备的微服务可以在任何地方运行,能够以各种规模使用任何应用程序,以满足工作负载性能需求。还可以编写包含云提供商的Web服务的微服务,然后使用该模型来为其他提供商的Web服务调整应用程序,即使它们的实施方式略有不同。使用微服务构建组织自己的云Web服务可以更好地支持组织主要的开发业务和应用程序。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 轻松构建微服务之服务治理
- 微服务架构基础之构建微服务
- SpringCloud构建微服务架构:服务消费
- 轻松构建微服务之服务注册和发现
- 轻松构建微服务之服务注册和发现
- SpringCloud构建微服务架构:服务注册与发现
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。