微服务架构强化的实时通信

简介: 本文讲的是微服务架构强化的实时通信【编者的话】本文探讨了微服务架构模式是如何强化实时通信的,比如数据同步、动态RPC、发布/订阅消息传递、许可信息等以及相关的框架。
本文讲的是微服务架构强化的实时通信【编者的话】本文探讨了微服务架构模式是如何强化实时通信的,比如数据同步、动态RPC、发布/订阅消息传递、许可信息等以及相关的框架。

一个强大的后端支撑可以产生更加动态、可扩展和易于管理的部署策略,它可以用于实时通信和协作。

前不久,这篇文章已经开始了一个关于微服务的盛大宣言:化整为零!分而治之!“......企业IT架构师知道该怎么做。尽管如今几乎没有必要了。事实上,大多数企业架构以低耦合、高内聚节点集群的模式来构建后端都是可能的。

但是这种灵活性是有代价的:企业级微服务架构很快变得高度复杂。负载均衡集群,到端点的路由请求,分布式消息编排,分片存储层以及设备并发读写访问等等都还只是其中的一部分挑战。

随着从请求-响应工作流到实时数据流的不断增长 -- 无论是金融价格分发,社交消息,协作应用还是物联网(IoT)数据聚合--我们都必须重新考虑我们的服务交互方式和资源共享。如果你负责实施和支持实时通信和协作,加强后端的支撑将有助于你创建更动态,可扩展和易于管理的部署策略。
Microservices-1.png

传统微服务架构

解决方案需求概述

我们的核心挑战是降低复杂性并增强可扩展性。有一个解决方案可以同时解决这两个问题:一个强劲的骨干网,用于统一资源访问和权限并改善路由和内部服务通信。这还需要一系列关键的改变:
  1. 数据同步替代分离的数据存储和消息传递——传统上,消息传递和数据存储是分离的。更新写入存储层;节点通过发布-订阅机制接收更新通知,然后使用自己的数据库连接查询新状态。这种方式伴随而来的是每个节点的额外连接和每次更新的多个步骤开销,进而导致更高的复杂性和性能的下降。

    这种做法正逐渐被一种“数据同步”概念替代,诸如deepstream.ioRethinkDB的技术实现。数据同步将数据层建模为分布式状态。数据对象在微服务和客户端之间共享,并且可以被操纵和观察。对象的每个更改都会立即分发到所有连接的节点。
  2. 动态RPC替代静态路由表——在传统的REST架构中,远程过程调用(RPC)的可用端点是在路由器/负载均衡层静态配置的--许多企业级RPC框架,包括Apache Thrift 都是这种套路。这意味着更改或增加都必须同步多个配置并且通常需要重新启动/滚动更新。

    高级消息队列协议(AMQP)代表如RabbitMQZeroMQ,通过引入模式路由和动态交换创建带来巨大的改善。然而这些AMQP代理依然是让用户执行高级模式任务,如重新路由或基于度量的负载平衡。

    新的RPC框架,如ZeroC's ICEdeepstream.io解决了这一问题。在这样的框架中,微服务在运行时可以动态分布式注册注册PRCs。传入的请求被路由到正确的端点并将响应返回给请求者。 智能负载平衡、重路由拒绝请求和其他额外功能使得这成为一个强大和少维护的方法。
  3. 服务间通信的发布/订阅消息传递——低耦合多对多通信的发布/订阅是一种可扩展和轻量级的内部消息传递模式。就像 Apache Kafka 的一个单独消息代理或像JBOSS Fuse企业事件总线一样。或者也可以融入统一平台的骨干网。
  4. 进入系统前的消息权限——在许多部署中,单独的微服务必须与Active Directory服务器或权限认证建立连接以确定给定的客户端是否可以执行特定操作。将消息权限移动到网关层,并确保消息不仅有效而且有权限,提高了安全性并且同时通过集中责任也降低了复杂性。这还有助于过滤掉恶意消息,在它们进入内部网络/虚拟私有云之前。
    Microservices-2.png

    一个部署场景

向解决方案迈进

有不少的系统可以满足这些要求的方面,但真正的效果取决于他们结合的好不好。 RPC可用于预订系统的事务,并返回数据同步记录名称/流句柄以跟踪其状态。事件可用于在股票交易应用程序中快速广播指示价格更新,但最后通过数据同步提供最终价格。将所有这些功能从微服务和客户端连接到一个坚实、安全、可横向扩展的骨干网,能够显着降低复杂性,同时提高可扩展性和容错能力。

原文链接:Microservice Architecture Fortified for Real-Time Communications (翻译:朱高校)

===========================================
译者介绍

朱高校,H3C公司,目前从事OpenStack 、Docker相关研究工作。

原文发布时间为:2016-10-31

本文作者:朱高校

本文来自云栖社区合作伙伴Dockerone.io,了解相关信息可以关注Dockerone.io。

原文标题:微服务架构强化的实时通信

相关文章
|
6月前
|
JSON 自然语言处理 API
gRPC凭什么成为微服务通信首选?深度解析RPC进化史
本文深入解析了分布式系统中服务通信的核心机制,重点介绍了 RPC 与 gRPC 的原理、优势及使用场景,并详解 gRPC 所依赖的序列化协议 Protocol Buffers(Protobuf)。内容涵盖 RPC 概念、gRPC 特性、Protobuf 语法及服务定义,适合微服务架构设计与维护人员阅读,助你构建高性能、低耦合的服务通信体系。
777 73
gRPC凭什么成为微服务通信首选?深度解析RPC进化史
|
4月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
7月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
475 0
|
Java 开发者 微服务
从单体到微服务:如何借助 Spring Cloud 实现架构转型
**Spring Cloud** 是一套基于 Spring 框架的**微服务架构解决方案**,它提供了一系列的工具和组件,帮助开发者快速构建分布式系统,尤其是微服务架构。
1454 69
从单体到微服务:如何借助 Spring Cloud 实现架构转型
|
10月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
522 12
|
运维 监控 持续交付
微服务架构解析:跨越传统架构的技术革命
微服务架构(Microservices Architecture)是一种软件架构风格,它将一个大型的单体应用拆分为多个小而独立的服务,每个服务都可以独立开发、部署和扩展。
3465 36
微服务架构解析:跨越传统架构的技术革命
|
12月前
|
传感器 监控 安全
智慧工地云平台的技术架构解析:微服务+Spring Cloud如何支撑海量数据?
慧工地解决方案依托AI、物联网和BIM技术,实现对施工现场的全方位、立体化管理。通过规范施工、减少安全隐患、节省人力、降低运营成本,提升工地管理的安全性、效率和精益度。该方案适用于大型建筑、基础设施、房地产开发等场景,具备微服务架构、大数据与AI分析、物联网设备联网、多端协同等创新点,推动建筑行业向数字化、智能化转型。未来将融合5G、区块链等技术,助力智慧城市建设。
609 1
|
11月前
|
Dubbo 应用服务中间件 Apache
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
Star 4w+,Apache Dubbo 3.3 全新发布,Triple X 领衔,开启微服务通信新时代
181 0