云计算中几个强大的微服务用例

随着开发团队转向采用微服务,最佳使用案例有助于提供参考,因此可以了解一些主要厂商的微服务用例。

大多数企业开发团队将不再使用云托管的微服务。因为大多数可能会出现问题,而早期的使用者会放弃甚至拒绝使用微服务。最好的微服务用例分为四类,每个企业都应该联系一个或多个早期微服务采用者,让他们提出一些建议。

微服务用例

第一个用例是使用微服务来促进云采用。大多数开发团队认识到,最佳的使用公共云和混合云的应用程序架构是不同的。很少有人准备说明这些差异,以及如何实现有序的部署,安全和合规的运作以及全面的托管效率。微服务提供了一种新的应用程序模型的路径,即使以整体形式,也容易地托管在数据中心中,仍然轻松移动到云平台。

微服务在定义一种在绑定服务方面具有动态性的服务模型方面超越了面向服务架构(SOA)。微服务是一个设计(如果正确完成)功能的单元,是无状态和可扩展的,同时,以紧耦合或松散耦合意义连接。用户可以将微服务和核心应用程序组件集成到单个机器映像中,复制服务并避免组件连接和集成的问题。可以使用API管理器将相同的微服务扩展为受控共享服务,该管理器可复制SOA机制的安全性,然后以治理许可的REST形式暴露。这种选择范围在应用设计中是无与伦比的,它是云计算的理想选择。

第二个微服务用例的重点是通过微服务实现以业务为中心的经典面向服务架构(SOA)的目标。微服务要高效,要求应用架构师与企业架构师更加配合,以识别可重用的业务功能,以转变为微服务。这是一个重要的,有价值的,偏离传统的SOA模式,其中服务的定义主要是基于技术考虑。企业最近意识到需要对IT元素和组件化进行更多的基于业务的评估,但是如何开始却不太明确。

通过识别应用程序的业务功能,然后在应用程序之间映射常见或非常相似的功能,开始实施良好的微服务策略。这些功能成为微服务创建的目标,尽管预计将有一些是广义最大限度的重用,有些可以基于诸如无状态行为和可扩展性的技术目标映射到一系列微服务而不是单个微服务。

第三个微服务用例是使用微服务来利用云计算的弹性和可扩展性。企业知道,采用云计算的主要好处并不是降低计算成本,而是更有效,更高效的运营,提高业务灵活性和应用程序的体验质量。问题在于,用户并不清楚如何利用云功能实现这些优势。而微服务是最好的答案。

弹性或可伸缩性意味着扩展或收缩应用程序资源以匹配工作负载并响应失败。这意味着构建应用程序,以便应用程序的“瓶颈”组件可以实例化多个副本,并且可以在副本之间平衡工作负载。微服务说明如何构建组件以使此过程变得容易,并且用于将安全性/治理实践应用于微服务的API管理器也可用于负载平衡和实例管理。

这种用例也可以被视为将应用程序移动到基于容器的部署的一种方式,这是采用云计算企业越来越重要的一个目标。由于微服务是相对较小的功能元素,它们适用于容器的低开销模型,并且已经做了大量工作来证明两种技术的最佳结合。

最后一个,也许最复杂的微服务用例是创建事件驱动的企业。。应用程序设计长期以来是基于应用程序的概念,它是通过静态工作流链接的一系列组件,通常通过消息/服务总线支持。企业IT作为企业事件响应的一种看法是一种替代模式,对于IT和业务整体而言,它们比组件化或云计算具有更大的潜在影响。然而,事件驱动的企业流程也与传统设计有着深刻的背离,也是架构师和开发人员面临的挑战。

找到工作的用例

微服务比任何当前的技术开发直接支持事件驱动的业务IT方式。作为无状态功能实现的细粒度微服务可以根据需要向外推,这将开启一个全新的应用程序设计模型,功能组件根据需要进行封送,并推送到工作人员起源点,并收集公司数据的信息库。

大多数公司会发现微服务器的这些用例区域之一是相关的,许多公司会发现其中的几个(甚至全部都可以应用)。微服务并不会自动解决这些问题,很明显,用例是应用微服务的指南,但不一定是一个路线图。最聪明的做法就是查看上面的所有要点,并将它们从即刻和长期的重要性中排除。然后,确定与每个重点相关的微服务功能,并决定哪些特定的微服务能力是最重要的。

微型服务仍处于起步阶段,很容易造成错误,因为任何给定领域的最佳实践仍然不成熟。这意味着,与微型服务一样有价值,如今,它们仍然是一个更多用户支持的更长时间的风险更高的策略。用户需要花费一定的时间评估使用案例,并仔细开发自己的微服务策略,以防止难以纠正早期的错误。 

本文作者:Harris编译

来源:51CTO

时间: 2024-09-04 10:22:33

云计算中几个强大的微服务用例的相关文章

云计算中蒙特卡罗仿真作为一种服务

MONTE CARLO SIMULATION AS A SERVICE IN THE CLOUD Victor Chang Robert John Walters Gary Wills In the use of MCSaaS, we propose to remove outliers to enhance the improvement in accuracy. In the process of doing so, we propose three hypotheses. We descr

使用Spring Boot日志框架在已有的微服务代码中添加日志功能

引言:我们需要在已有的微服务代码中添加日志功能,用于输出需要关注的内容,这是最平常的技术需求了.由于我们的微服务代码是基于SpringBoot开发的,那么问题就转换为如何在Spring Boot应用程序中输出相应的日志. 在传统Java应用程序中,我们一般会使用类似Log4j这样的日志框架来输出日志,而不是直接在代码中通过System.out.println()来输出日志.为什么要这么做呢?原因有两点.其一,我们希望日志能输出到文件中,而不是输出到应用程序的控制台中,这样更加容易收集和分析.其二

微服务架构中模块划分和服务识别

最近在进行微服务架构的交流和讨论中,除了谈到微服务技术架构外,客户往往更加挂你微服务模块的划分粒度,已经具体的微服务API接口的识别和定义问题,因此这篇文章将重点谈下微服务架构实践过程中的微服务模块划分和服务识别. 首先我们还是再总结在在跨系统间的接口集成中服务的识别和定义方法,可以总结为: 1. 基于流程架构和业务架构,从跨系统交互流程出发,分析业务交互接口点,识别关键的业务服务能力. 2. 基于数据架构和主数据建模分析,识别关键的数据服务能力. 3. 基于技术架构和共性平台层技术组件的分析和

在微服务中如何管理数据

来自Stitch Fix团队的工程副总裁Randy Shoup在QCon纽约2017会议上讨论了如何在基于微服务的应用中管理数据和隔离持久化.他还介绍了将事件(Event)作为微服务的第一类构造.他介绍自己的团队将机器学习技术应用到了业务的各个组成部分,比如购买.库存管理以及风格推荐等. 个性化推荐会基于库存运行机器学习,从而创建出推荐的算法.这些推荐算法随后会被全国范围内的设计师所监管,从而形成个性化风格的推荐. 微服务架构是渐进演化的.像eBay.Twitter和Amazon这样的组织都经历

再谈Docker,微服务的场景化应用

看过<超能陆战队>的朋友可能仍然对于电影中的男主角介绍和演示自己发明的微型机器人的场景记忆犹新. "它"看起来只是一跟带有磁性的小小的金属部件.但是它是一个独立的个体,自己能够独立的大脑,同时,和同伴之间有相互的接口你行链接.能够通讯.能够随意的组合成任意功能的物体. 通过类比,我们很容易由硬件领域想到软件领域.譬如软件系统的架构,一直都是伴随着几种主流的模式,集中式,分布式以及最近才开始流行起来的"微服务". 滨田宏发明的微型机器人,其实和微服务的思想

微服务(Microservices)—Martin Flower【翻译】【转载】

本文转载自:http://www.cnblogs.com/liuning8023/p/4493156.html ---------------------------------------------------------------------------- 原文是 Martin Flower 于 2014 年 3 月 25 日写的<Microservices>. 本文内容 微服务 微服务风格的特性 组件化(Componentization )与服务(Services) 围绕业务功能的组

微服务与SOA架构

本文讲的是微服务与SOA架构[编者的话]本文是Mark Richards写的微服务与面向服务架构完整报告. 基于服务架构的世界 微服务和SOA都被认为是基于服务的架构,这意味着这两种架构模式都非常强调将"服务"作为其架构中的首要组件,用于实现各种功能(包括业务层面和非业务层面).微服务和SOA是两种差异很大的架构模式,但是他们仍有一些相同的特征. 所有基于服务的架构的一个共性是他们一般都是分布式架构,也就是服务组件都是通过远程访问协议来实现的,例如REST.SOAP.AMQP.JMS.

微服务、SOA和API对比与分析

本文讲的是微服务.SOA和API对比与分析[编者的话]对比微服务架构和面向服务的架构(SOA)是一个敏感的话题,常常引起激烈的争论.本文将介绍这些争论的起源,并分析如何以最佳方式解决它们.然后进一步查看这些概念如何与 API 管理概念结合使用,实现更敏捷.更分散化.更具弹性的企业架构. 1 简介 在对比微服务架构和面向服务的架构(SOA)时,几乎不可能在它们彼此的关系上达成一致意见.如果应用程序编程接口(API) 再加入混战,就会让理解它们的差异变得更加困难.一些人可能会说这些概念完全不同,它们

为什么说传统分布式事务不再适用于微服务架构

传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构.那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题. 传统分布式事务不是微服务中数据一致性的最佳选择 微服务架构中应满足数据最终一致性原则 微服务架构实现最终一致性的三种模式 对账是最后的终极防线 传统分布式事务 我们先来看下第一部分,传统使用本地事务和分布式事务保证一致性. 传统单机应用一般都会使用一个关系型数据库,好处是应用可以使用