服务网格ServiceMesh和高并发、高可用设计手段(上)

简介: 服务网格ServiceMesh和高并发、高可用设计手段(上)

前言


承接上文 互联网架构演进之路

1、ServiceMesh架构设计
2、高可用设计手段
3、高并发设计手段


先推荐大家一个很好用的画软件设计图的工具

gitmind

此图仅仅为了展示使用gitmind画出来效果 请忽略内容

简洁、清晰、有效


image.png


正文开始


ServiceMesh架构设计


公共业务逻辑下沉

image.png

image.png


多编程语言之间 通信 问题
每种语言都要写一套基础设施 成本大
因为通讯组件和应用程序耦合在一起


业务研发团队和基础设施团队务必物理解耦

一套基础实施支持多语言开发
应用程序可以多种语言
基础设施能力从应用程序中下沉成为一个单独的进程

服务网格

1、独立进程
2、服务之间通讯
3、不管有状态服务还是无状态服务未来一定跑在云原生(docker k8s)上
4、轻量级网络代理
5、与应用程序部署在一起 对应用程序透明

服务网格架构

image.png


sidecar 是一个 rpc服务
应用程序A->sidecarA->sidecarB->应用程序B
反向同理
通讯协议两两都是tcp
数据协议 pb 
不管应用程序是什么语言 只有一套sidecar就行了
服务升级不依赖业务团队
业务团队迭代速度快

为什么必须部署在一起

同一个物理机或k8s pod
基于 tcp 轻量级 
不需要考虑负载均衡\重试\服务注册\配置中心\路由

最早期ServiceMesh

image.png

案例1-百度空间


image.png

用的是pull模式
百度空间 数据量大 数据一致性没那么高 是异步架构


image.png

案例2-社交IM

image.png


pc桌面版 tcp长连接
web用不了tcp长连接
http协议模拟 长轮询
类似直播 难点 抗同时并发量
同步架构 消息实时性

image.png


路由层是IM特有的 不需要关注

水平方向拆分

image.png

相关文章
|
消息中间件 缓存 应用服务中间件
Nginx系列教程(02) - 高可用与高并发介绍
Nginx系列教程(02) - 高可用与高并发介绍
117 0
|
1月前
|
自然语言处理 监控 Cloud Native
探索微服务架构中的服务网格Service Mesh
【10月更文挑战第7天】服务网格(Service Mesh)是微服务架构中的关键组件,通过在每个服务实例旁部署Sidecar代理,实现服务间通信的管理、监控和安全增强。本文介绍了服务网格的基本概念、核心组件、优势及实施步骤,探讨了其在现代开发中的应用,并提供了实战技巧。
|
2月前
|
消息中间件 安全 大数据
Kafka多线程Consumer是实现高并发数据处理的有效手段之一
【9月更文挑战第2天】Kafka多线程Consumer是实现高并发数据处理的有效手段之一
250 4
|
3月前
|
运维 负载均衡 监控
探索微服务架构下的服务网格(Service Mesh)实践之路
【8月更文挑战第30天】 在当今日益复杂的分布式系统中,微服务架构已成为众多企业解决系统扩展与维护难题的利器。然而,随着服务的不断增多和网络交互的复杂性提升,传统的微服务管理方式开始显得力不从心。服务网格(Service Mesh)作为一种新兴的解决方案,旨在通过提供应用层的网络基础设施来简化服务间通讯,并增强系统的可观察性和安全性。本文将分享我在采用服务网格技术过程中的经验与思考,探讨如何在现代云原生环境中有效地实施服务网格,以及它给开发和运维带来的变革。
|
4月前
|
消息中间件 缓存 监控
如何设计一个秒杀系统,(高并发高可用分布式集群)
【7月更文挑战第4天】设计一个高并发、高可用的分布式秒杀系统是一个非常具有挑战性的任务,需要从架构、数据库、缓存、并发控制、降级限流等多个维度进行考虑。
129 1
|
6月前
|
监控 负载均衡 数据安全/隐私保护
探索微服务架构下的服务网格(Service Mesh)实践
【5月更文挑战第6天】 在现代软件工程的复杂多变的开发环境中,微服务架构已成为构建、部署和扩展应用的一种流行方式。随着微服务架构的普及,服务网格(Service Mesh)作为一种新兴技术范式,旨在提供一种透明且高效的方式来管理微服务间的通讯。本文将深入探讨服务网格的核心概念、它在微服务架构中的作用以及如何在实际项目中落地实施服务网格。通过剖析服务网格的关键组件及其与现有系统的协同工作方式,我们揭示了服务网格提高系统可观察性、安全性和可操作性的内在机制。此外,文章还将分享一些实践中的挑战和应对策略,为开发者和企业决策者提供实用的参考。
|
6月前
|
负载均衡 监控 Go
Golang深入浅出之-Go语言中的服务网格(Service Mesh)原理与应用
【5月更文挑战第5天】服务网格是处理服务间通信的基础设施层,常由数据平面(代理,如Envoy)和控制平面(管理配置)组成。本文讨论了服务发现、负载均衡和追踪等常见问题及其解决方案,并展示了使用Go语言实现Envoy sidecar配置的例子,强调Go语言在构建服务网格中的优势。服务网格能提升微服务的管理和可观测性,正确应对问题能构建更健壮的分布式系统。
452 1
|
缓存 Java 应用服务中间件
【高并发优化手段】基于Springboot项目(二)
【高并发优化手段】基于Springboot项目
468 0
|
6月前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践之路
【4月更文挑战第30天】 在现代云计算的大背景下,微服务架构以其灵活性和可扩展性成为众多企业转型的首选。然而,随着服务的激增和网络交互的复杂化,传统的服务通信模式已无法满足需求,服务网格(Service Mesh)应运而生。本文通过分析服务网格的核心组件、运作机制以及在企业中的实际应用案例,探讨了服务网格在微服务架构中的关键作用及其带来的变革,同时提出了实施过程中面临的挑战和解决策略。
|
6月前
|
运维 监控 负载均衡
探索微服务架构下的服务网格(Service Mesh)实践
【4月更文挑战第28天】 在现代云原生应用的后端开发领域,微服务架构已成为一种广泛采用的设计模式。随着分布式系统的复杂性增加,服务之间的通信变得愈加关键。本文将深入探讨服务网格这一创新技术,它旨在提供一种透明且高效的方式来管理、监控和保护微服务间的交互。我们将从服务网格的基本概念出发,分析其在实际应用中的优势与挑战,并通过一个案例研究来展示如何在现有的后端系统中集成服务网格。