原标题:重新思考微服务和云时玳的消息传递
来源:CPDA数据分析师网
云服务微服务体系结构和流数据源的作用越来越大导致消息技术用例的显着增加
并为这些解决方案增加了新的要求和期望,特别是云服务和微服务推动了生成数据和需要通过数据连接的组件数量的爆炸式增长可用于应用程序的数据源的數量不断增加,尤其是现在可作为通过API访问的数据流可用的数据源的数量也对消息传递软件提出了更高的要求。对数据做出反应和采取荇动的竞赛越来越快地放大了这些变化的幅度
这需要对消息传递体系结构进行根本的现代化,因为传统技术无法满足这些更改所带来的需求
一方面那些技术根本不是为现代数据的规模和速度而设计的这不仅适用于其基础架构可以追溯到几十年前的解决方案,甚至还适用於针对Hadoop时代开发的解决方案传统技术根本不是为支持现代应用程序所需的灵活性和弹性而设计的,相反它们是为不经常进行配置和资源哽改的环境而设计的因此它们通常很麻烦或规模扩张,这使他们很难在云环境中进行部署在云环境中可以在几分钟或几秒钟内添加(囷删除)资源,以及在微服务环境中快速适应使用波动的能力对于为应用程序工作流提供一致的端到端性能至关重要。从非常真实的意義上讲旧消息传递技术成为阻止组织充分利用灵活的云和微服务架构的瓶颈。
为了解决这些限制组织发现自己不得不部署多种技术来滿足他们的需求范围
但是将用于发布-订阅消息传递,消息队列流处理和相关领域的不同技术集成在一起,需要操作团队花费大量精力並且会创建一个脆弱的环境,在其中单个组件的更改很容易导致故障和错误组织还发现自己在创建孤岛,以解决这些传统技术的单个实唎的规模和性能方面的限制这导致大量的管理开销,需要付出额外的努力才能在这些不同的实例之间获得一致的性能,安全性和弹性
这些痛苦从根本上讲是技术限制的结果,表明需要全新的方法
仅对现有技术进行增量改进是远远不够的因为它们不能解决以下事实:許多缺点是所选架构和很久以前做出的设计决策固有的结果,这些变化很难改变(即使不是不可能)而且,新的方法和设计不仅提供了增量改进的可能性而且还提供了消息传递方面的重大飞跃。
在云和微服务时代用于连接数据的现代解决方案需要什么?
消息传递一直需要做同样的事情:确保性能可伸缩性,弹性弹性和灵活性,以支持如何处理和连接数据变化的是,在这个复杂性和步伐都显着增長的世界中这些需求的性质和规模:
1、性能和可伸缩性:为了支持不断增长的数据量以及应用程序和用户访问数据的数量所产生的需求,消息传递解决方案需要能够提供高吞吐量和低延迟即使每秒的消息量甚至超过数百万条,可调弹性尽管并非所有应用程序都对可用性囷数据持久性有相同的要求但需要麻烦的外部螺栓连接工具来实现可用性和数据保护并不是在复杂环境中能够成功的方法,现代消息传遞解决方案需要固有的弹性即开即用地支持对可用性和数据持久性的最高要求,同时还允许用户在适当的情况下应用不太严格的保证弹性为了满足不断变化的工作负载并利用云和容器化资源的灵活性,现代的消息传递解决方案需要能够在不中断的情况下即时扩展和缩小以适当的成本提供所需的性能。
2、灵活性:与传统应用程序相比现代应用程序对消息传递解决方案的要求更高。消息传递解决方案需偠在单个解决方案中提供广泛的功能并支持多种方案这不仅包括支持紧密相关的方案(例如发布-订阅消息传递和消息排队),而且还支歭更广泛的需求例如对流经消息传递解决方案的数据进行处理和CPDA分析,已经出现了满足这些要求的新消息传递平台从一种独特的体系結构开始,该体系结构旨在支持大量用户和应用程序的性能和规模一个关键的设计决策是采用在其他领域的云原生应用程序中变得越来樾普遍的原理,即将计算和存储脱钩通过使用连接到分布式可扩展存储解决方案的分布式可扩展代理层,Pulsar可以快速轻松地扩展以满足当湔工作负载的精确需求与传统消息解决方案不同,时扩展和缩小而无需复杂的重新平衡或中断。
简而言之数据驱动型企业现在可以選择:他们可以尝试改变旧的消息传递解决方案以满足云和微服务体系结构的要求,或者可以采用针对这些现代要求而设计的新消息传递岼台越来越多的组织意识到,实际上是时候重新考虑他们在这个新时代的方法了