下一代微服务Service Mesh原理及实践(下)

简介: 下一代微服务Service Mesh原理及实践(下)

完整流程图


这个完整的流程图涵盖了
DNS、CDN、Nginx、FastDFS(或Ceph)、
LVS、ServiceMash、数据收集中心、
注册中心、控制中心、网关、业务逻辑层、
数据访问层、存储层等数据交互过程
价值不菲 想要的话 
可以添加我微信15900411193


调用链路


image.png


1、做协议解析的目的是兼容老的协议
客户端发出请求后 在客户端service和服务方service要做协议解析
如果都是mesh协议 是不需要协议解析的、协议封装也不需要
2、客户端一定要做序列化、反序列化 这和通讯没啥关系 就是一个数据包


调用方时序图


image.png


服务方时序图


微信图片_20220430204820.png


缓存管理 多个Map:
服务方提供哪些函数调用 通过扫描jar包 反射机制 获取服务提供的类名和方法名


协议设计


数据协议

1、Protocol Buffer
2、分割符、版本号、Mesh消息构成


image.png


1、一次传输协议中有版本号 
比如 版本号1表示rpc协议 
版本号2表示mesh协议
通过版本号可以区分兼容老协议还是新协议
2、多个数据包之间通过头和尾分割符分开
3、分割符占5个字节


Mesh通讯协议

1、TCP长连接
2、Http1.1或2.0


混合云部署


1、调用方
a、SideCar+Service(Mesh)
b、Service(RPC)
2、服务方
a、SideCar+Service(Mesh)
b、Service(RPC)

访问流程

image.png


1、在服务启动的时候 mesh服务或普通的RPC服务都会去注册中心注册 此时就知道了该节点的服务类型
2、调用方下拉服务信息 也就知道了提供方服务类型 然后选择不同的协议去调用


小细节


1、熔断放在mesh里面做 不需要业务方参与
2、下游重试次数是一样的 是服务粒度 非接口粒度
3、proxy(mesh)之间做健康检测 是分布式的 一旦发现自己的上游或下游出现了问题 就更新本地的路由表
4、负载均衡算法:Random、RR、Hash(主要用一致性hash来做)
(RR:(循环负载)
第一次请求路由到第一个节点,
第二次请求路由到第二个节点,
第三次请求路由到第三个节点,
第四次请求路由到第一个节点
....)


架构未来


2平台1中心1趋势
service mesh平台与业务解耦
容器云弹性平台
服务治理平台(控制中心、注册中心、数据收集中心)
人工智能(AI)



服务管理平台的调用关系-数据收集存储方法


服务方-调用方角度

image.png


服务方:1分钟500万条记录
调用方:50万
共550万


存储方案

方案1

image.png

image.png



相关文章
|
3月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1736 10
|
8月前
|
Cloud Native Serverless 流计算
云原生时代的应用架构演进:从微服务到 Serverless 的阿里云实践
云原生技术正重塑企业数字化转型路径。阿里云作为亚太领先云服务商,提供完整云原生产品矩阵:容器服务ACK优化启动速度与镜像分发效率;MSE微服务引擎保障高可用性;ASM服务网格降低资源消耗;函数计算FC突破冷启动瓶颈;SAE重新定义PaaS边界;PolarDB数据库实现存储计算分离;DataWorks简化数据湖构建;Flink实时计算助力风控系统。这些技术已在多行业落地,推动效率提升与商业模式创新,助力企业在数字化浪潮中占据先机。
473 12
|
10月前
|
监控 Kubernetes Cloud Native
基于阿里云容器服务Kubernetes版(ACK)的微服务架构设计与实践
本文介绍了如何基于阿里云容器服务Kubernetes版(ACK)设计和实现微服务架构。首先概述了微服务架构的优势与挑战,如模块化、可扩展性及技术多样性。接着详细描述了ACK的核心功能,包括集群管理、应用管理、网络与安全、监控与日志等。在设计基于ACK的微服务架构时,需考虑服务拆分、通信、发现与负载均衡、配置管理、监控与日志以及CI/CD等方面。通过一个电商应用案例,展示了用户服务、商品服务、订单服务和支付服务的具体部署步骤。最后总结了ACK为微服务架构提供的强大支持,帮助应对各种挑战,构建高效可靠的云原生应用。
|
11月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
719 17
|
消息中间件 运维 安全
后端开发中的微服务架构实践与挑战####
在数字化转型的浪潮中,微服务架构凭借其高度的灵活性和可扩展性,成为众多企业重构后端系统的首选方案。本文将深入探讨微服务的核心概念、设计原则、关键技术选型及在实际项目实施过程中面临的挑战与解决方案,旨在为开发者提供一套实用的微服务架构落地指南。我们将从理论框架出发,逐步深入至技术细节,最终通过案例分析,揭示如何在复杂业务场景下有效应用微服务,提升系统的整体性能与稳定性。 ####
250 32
|
10月前
|
监控 Cloud Native Java
基于阿里云容器服务(ACK)的微服务架构设计与实践
本文介绍如何利用阿里云容器服务Kubernetes版(ACK)构建高可用、可扩展的微服务架构。通过电商平台案例,展示基于Java(Spring Boot)、Docker、Nacos等技术的开发、容器化、部署流程,涵盖服务注册、API网关、监控日志及性能优化实践,帮助企业实现云原生转型。
|
Cloud Native API 持续交付
云原生架构下的微服务治理策略与实践####
本文旨在探讨云原生环境下微服务架构的治理策略,通过分析当前面临的挑战,提出一系列实用的解决方案。我们将深入讨论如何利用容器化、服务网格(Service Mesh)等先进技术手段,提升微服务系统的可管理性、可扩展性和容错能力。此外,还将分享一些来自一线项目的经验教训,帮助读者更好地理解和应用这些理论到实际工作中去。 ####
218 0
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
688 6
|
设计模式 Java API
微服务架构演变与架构设计深度解析
【11月更文挑战第14天】在当今的IT行业中,微服务架构已经成为构建大型、复杂系统的重要范式。本文将从微服务架构的背景、业务场景、功能点、底层原理、实战、设计模式等多个方面进行深度解析,并结合京东电商的案例,探讨微服务架构在实际应用中的实施与效果。
330 1
|
安全 应用服务中间件 API
微服务分布式系统架构之zookeeper与dubbo-2
微服务分布式系统架构之zookeeper与dubbo-2

热门文章

最新文章