金融业务系统: Service Mesh用于安全微服务集成

news/2025/3/28 15:25:38/

ed68b5d98cb0849a852e8cb9ea157dbc.png

随着云计算的不断演进,微服务架构变得日益复杂。为了有效地管理这种复杂性,人们开始采用服务网格。在本文中,我们将解释什么是Service Mesh,为什么它对现代云架构至关重要,以及它是如何解决开发人员今天面临的一些最紧迫挑战的。

理解Service Mesh

一个Service Mesh是内置在应用程序中的可配置基础架构层,允许个别服务实例之间进行灵活、可靠和安全的通信。在云原生环境中,特别是在采用容器化的环境中,服务网格在处理服务到服务的通信方面至关重要,为其提供了增强的控制、管理和安全性。

为什么需要Service Mesh?

随着应用程序不断发展成为由许多微服务组成的分布式系统,它们常常遇到服务发现、负载平衡、故障恢复、安全性和可观察性方面的挑战。服务网格通过提供以下内容来解决这些挑战:

动态流量管理: 调整请求和响应的流向,以适应基础架构的变化。•改进的弹性: 通过重试、超时和断路器等模式,增强系统的鲁棒性。•增强的可观察性: 提供监控、日志记录和跟踪工具,以了解系统的性能和行为。•安全增强: 通过加密和身份验证协议确保安全通信。

通过实施Service Mesh,这些分布式且松散耦合的应用程序可以更有效地进行管理,确保在规模上的操作效率和安全性。

基础元素: 服务发现和代理

服务网格依赖于两个基本组件 —— Consul和Envoy。 Consul负责服务发现,这意味着它追踪服务、位置和健康状态,确保系统能够适应环境的变化。另一方面,Envoy管理代理服务。它部署在服务实例旁边,处理网络通信。Envoy充当流量管理和消息路由的抽象层。

架构概览

该架构由公共和私有VPC设置组成,其中包含不同的集群。VPC中的“LEFT_CLUSTER”专用于关键服务,如日志记录和监控,提供对系统操作的洞察和交易管理。另一方面,VPC中的“RIGHT_CLUSTER”包含用于审计和合规性、仪表板以及存档数据的服务,确保了对数据管理和法规合规性的强大方法。

2292b6ed9f48082b00fa34b2f3d5182a.png

Image.png

该图展示了AWS中用于敏感银行操作的服务网格架构。它包括两个集群:VPC中的左集群包括一个Mesh Gateway、银行接口、身份验证和授权系统,以及一个对账引擎。VPC中的右集群管理审计,提供仪表板,存储存档数据,并处理通知。Consul和Envoy Proxies高效地管理通信。通过专用工具监控,确保在复杂的银行生态系统中的操作完整性和安全性。

网格网关和Envoy代理

网格网关对于集群间通信至关重要,简化了连接和网络配置。Envoy代理被战略性地放置在服务网格内,管理流量的流向,增强了系统动态扩展的能力。

安全和用户交互

用户的旅程始于进行身份验证和授权的措施,以验证和保护用户访问。

Consul的作用

Consul的服务发现功能对于允许Bank Interface和Reconciliation Engine等服务发现并无缝交互是至关重要的,绕过了静态IP地址的限制。

操作效率

Service Mesh对操作效率的贡献在其与Reconciliation Engine的集成中尤为明显。这确保了需要对账的财务数据能够高效、安全地处理,并指向相关服务。

Service Mesh集成的案例

向云原生架构的转变强调了对Service Mesh的需求。这一蓝图增强了敏捷性、安全性和技术,确认了Service Mesh在现代云网络中的关键作用。


http://www.ppmy.cn/news/1227414.html

相关文章

c++ list容器使用详解

list容器概念 list是一个双向链表容器,可高效地进行插入删除元素。 List 特点: list不可以随机存取元素,所以不支持at.(position)函数与[]操作符。可以对其迭代器执行,但是不能这样操作迭代器:it3使用时包含 #includ…

Docker中快速安装RabbitMQ

文章目录 前言一、安装Docker二、安装RabbitMQ无脑命令行运行 总结 前言 在Ubuntu中的Docker容器中快速安装RabbitMQ,亲测有效,不废话,上操作。 一、安装Docker 直接按照Docker官方教程操作:官方安装教程 点进官网,往…

【佳学基因检测】在LARAVEL中如何使用和设置路由组

【佳学基因检测】在LARAVEL中如何使用和设置路由组 在设计面向基因检测客户的动态网页和API中,基因检测人工智能常常使用LARAVEL网站框架。Laravel中,路由组(Route Groups)是一种用于组织和管理路由的方法。通过使用路由组&#…

Redis 9 数据库

4 设置键的生存时间或过期时间 通过EXPIRE命令或者PEXPIRE命令,客户端可以以秒或者毫秒精度为数据库中的某个键设置生存时间(TimeToLive,TTL),在经过指定的秒数或者毫秒数之后,服务器就会自动删除生存时间…

模块化Common JS 和 ES Module

目录 历程 1.几个函数:全局变量的污染,模块间没有联系 2.对象:暴露成员,外部可修改 3.立即执行函数:闭包实现模块私有作用域 common JS module和Module 过程 模块依赖:深度优先遍历、父 -> 子 -…

虚幻C++ day5

角色状态的常见机制 创建角色状态设置到UI上 在MainPlayer.h中新建血量,最大血量,耐力,最大耐力,金币变量,作为角色的状态 //主角状态UPROPERTY(EditDefaultsOnly, BlueprintReadOnly, Category "Playe Stats&…

音视频项目—基于FFmpeg和SDL的音视频播放器解析(九)

介绍 在本系列,我打算花大篇幅讲解我的 gitee 项目音视频播放器,在这个项目,您可以学到音视频解封装,解码,SDL渲染相关的知识。您对源代码感兴趣的话,请查看基于FFmpeg和SDL的音视频播放器 如果您不理解本…

ffmpeg知识点整理

使用FFmepg进行视频转码、视频格式转换、图片提取等!_ffmepg -c:v-CSDN博客 中文文档: ffmpeg 中文手册 (beandrewang.github.io) 笔记: 通用规则是,所有选项作用于其后边的第一个文件。因此,顺序是非常重要的&…