Service Mesh 高可用在企业级生产中的实践com)治理委员会核心成员 • 云原生社区(cloudnative.to)联合创始成员 • 百度云智学院认证讲师 • 目前在「百度云云原生团队」负责微服务治理与相关中间件研发 • 对云原生架构与技术、研发流程、团队文化有深入研究,对 Spring Cloud、 Service Mesh 等微服务治理框架有丰富实践经验2/总页数 /01 /02 /03 Service Mesh 与 Spring Cloud 应 用的互通、共治 机器故障 宕机 机房故障 核心交换机故 障、机房停电 容量 服务容量不足 依赖服务 响应超时19/总页数 治理策略 & 高可用 • 微服务高可用 设计手段 服务高可用 服务限流 方法容错 负载均衡+ 实例容错 柔性化/异步化 服务冗余 服务分流 存储高可用 熔断20/总页数 治理策略 & 高可用 • 微服务高可用设计手段 • 限流 • 熔断 • 负载均衡+实例容错 载保护,防止大量请求涌入击垮系统。 • 服务限流其实是指当系统资源不够,不足以应对大量请求,即系统资源与访问量 出现矛盾的时候,我们为了保证有限的资源能够正常服务,因此对系统按照预设 的规则进行流量限制或功能限制的一种方法。 • 限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的的请求进行 限速来保护系统,一旦达到限制速率则可以拒绝服务或进行流量整形。 • 限流无非就是针对超过预期的流量,通过预先设定的限流规则选择性的对某些请0 码力 | 38 页 | 1.38 MB | 6 月前3
网易云Service Mesh的产品架构与实现163yun.com 网易云Service Mesh的产品架构与实现 刘超 网易研究院云计算技术部首席架构师www.163yun.com 关于我 • 刘超 • 网易云 解决方案总架构师 • 10余年云计算领域研发及架构经验,先后在EMC,CCTV证券资 讯频道,HP,华为,网易从事云计算和大数据架构工作 • 毕业于上海交通大学。 • 曾出版《Lucene应用开发揭秘》 • 多0 码力 | 35 页 | 6.33 MB | 6 月前3
Service Mesh结合容器云平台的思考和实践owner --uid-owner ${uid} -j RETURNPilot-Agent主要功能分析-生产Envoy配置 envoy的配置主要在pilot-agent的init方法与proxy命令处理流程的前半部分生成。其中init方法为pilot-agent二进制的命令行配置大 量的flag与flag默认值,而proxy命令处理流程的前半部分负责将这些flag组装成为envoy的配置ProxyConfig对象。下面分析几个相对重 waitForExit会调用envoy.Run方法启动envoy进程,为此需要获取envoy二进制所在文件系统路径和命令行 参数两部分信息: 1. envoy二进制所在文件系统路径:evony.Run通过proxy.config.BinaryPath变量得知envoy二进制所在的文件 系统位置,proxy就是envoy对象,config就是pilot-agent的main方法在一开始初始化的proxyConfig对象。里面 ig对象。里面 的BinaryPath在pilot-agent的init方法中被初始化,初始值来自pilot/pkg/model/context.go的 DefaultProxyConfig函数,值是/usr/local/bin/envoy。 2. envoy的启动参数形式为下面的startupArgs,包含一个-c指定的配置文件,还有一些命令行参数。除了下面 代码片段中展示的这些参数,还可以根据0 码力 | 28 页 | 3.09 MB | 6 月前3
Service Mesh 微服务架构设计Mesh的框架介绍微服务设计的最佳实践 数据独立存储 保持代码高内聚 低耦合的服务 容器化发布 服务是无状态的微服务如何切分 DDD限界上下文 低耦合的服务设计方法论:DDD战略建模4步搞定微服务的划分保持代码高内聚的方法论:DDD战术建模Service Mesh将会是微服务设计的更好方式Service Mesh的核心价值 实现 业务逻辑 和 非业务逻辑 的分离 Ø 为下沉到基础设施提供可能0 码力 | 36 页 | 26.53 MB | 6 月前3
SOFAMOSN持续演进路径及实践分享key不支持冒号开头字段的问题 ü 适配envoy的HTTP2配置项 Ø 代码管理 ü fork x/net/http2 代码 ü 新增mosn_http2.go文件,复用原生结构体和方法,暴露mosn框架 所需方法和结构 ü 原则不修改原生文件技术案例 – http2性能优化 Ø 压测环境 p Intel(R) Xeon(R) CPU E5620 @ 2.40GHz p kernel:2.60 码力 | 29 页 | 7.03 MB | 6 月前3
Service Mesh是下一代SDN吗:从通信角度看Service Mesh的发展vice Mesh是下一代的SDN吗? 通信网络 l 互不兼容的专有设备 l 基于IP的通信缺乏质量保证 l 低效的业务部署和配置 ... 微服务系统 l 互不兼容的代码库 l 不可靠的远程方法调用 l 低效的服务运维 ... 通信网络和微服务系统面临类似的问题:Service Mesh是下一代的SDN吗? Network Layer Look at Solution Layer 7+ 灰度发布应 用 运维 通过Envoy插件和Istio协议扩展来实现?产品化增强-其他 • APP:灰度发布、流量控制,更多的APP待业务场景触发 • IPV6支持增强 • 在Istio中集成方法级的调用跟踪 • 在Istio中集成Kafka调用跟踪上游开源社区参与情况 所有通用的故障修复、性能优化和新特性都提交PR合入了上游社区。包括: • Consul Registry性能和资源占用优化0 码力 | 27 页 | 11.99 MB | 6 月前3
SOFAMesh的通用协议扩展Pattern 通过 CRD 扩展新的能力 • …MESH 落地碰到的问题 • 客户端服务发现与负载均衡无法与 ISTIO 一起工作 • ENVOY 不支持微服务使用的通信协议 • RPC 服务使用的接口,方法,参数语义无法匹配 ISTIO 的路由模 型 • 一个应用上部署了多个 RPC 服务,每个服务有自己的版本 • …ISTIO 控制平面路由的抽象模型 INBOUND OUTBOUNDSOFA0 码力 | 28 页 | 4.73 MB | 6 月前3
Service Mesh Meetup #3 深圳站go/blob/master/articles/sonarqube-for-golang/2018-07-22-sonarqube-for- golang.mdDrone 和 Jenkins 联调测试方法 本地即可测试 drone 上是否可以调用成功: >docker run --rm \ -e JENKINS_URL=-e JENKINS_USER= 0 码力 | 45 页 | 18.62 MB | 6 月前3
微博Service Mesh实践传输协议 �21 微博Service Mesh实践 - WeiboMesh Header ➢ 消息类型 ➢ 协议版本 ➢ 序列列化协议(body) Metadata ➢ 服务名 ➢ ⽅方法名 ➢ 系统参数及⽤用户参数 Body ➢ response ➢ RequestService Mesh Meetup · BeiJing Simple 序列列化 �22 微博Service0 码力 | 43 页 | 1007.85 KB | 6 月前3
蚂蚁金服ServiceMesh数据平面 SOFAMosn深层揭秘性能,成本评估符合蚂蚁实际需求2 构架SOFAMesh 1SOFAMosn 2SOFAMosn内数据流 3NET/IO 4 Ø屏蔽IO处理细节 Ø定义网络链接生命周期,事件机制 Ø定义可编程的网络模型,核心方法,监控指标 Ø定义可扩展的插件机制PROTOCOL 5 Ø定义编解码核心数据结构 üMesh处理三段式:Headers + Data + Trailers Ø定义协议Codec核心接口 ü编0 码力 | 44 页 | 4.51 MB | 6 月前3
共 10 条
- 1













