来电科技微服务治理落地实践|学习笔记(一)

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,182元/月
简介: 快速学习来电科技微服务治理落地实践

开发者学堂课程【来电科技微服务治理落地实践来电科技微服务治理落地实践】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/977/detail/14898


来电科技微服务治理落地实践

 

内容介绍:

一、云原生微服务的挑战和趋势

二、来电科技微服务治理落地挑战

三、来电科技微服务治理的选择

四、最佳实践

 

一、云原生微服务的挑战和趋势

1.微服务架构总览

image.png

最下层的是服务框架:Dubbo、Spring Cloud、多语言微服务

如果应用只有四五个节点或者只有三个服务就不需要多语言微服务,只需要用开元的Dubbo和Spring Cloud就可以。但当服务规模开始扩大,微服务的规模也会变得复杂,这时为了让服务性能更稳定就开始进行服务治理。

服务治理:无损下线、服务容错、服务路由、服务鉴权、限流降级

可观测性:应用监控、链路追踪、日志管理、应用诊断

相关的是 API 管理、服务压测、分布式事务、分布式调度、服务注册发现、服务配置、负载均衡、API网关

为了更好的管理服务,我们还需要DevOps系统

DevOps:服务元数据、服务测试、服务mock、持续集成、IDE插件

还可以通过 IDE 的插件做到端云互联等一些便捷开发的模式。

2.微服务在云原生下的挑战

随着 K8s 的流行,K8s 已经成为云原生下适时的标准。在这种场景下,传统的微服务会遇到很多问题,下面从三个方面讲述:

(1)在效率方面

白天流量高峰期发布,流量不报错

云边端一体化开发部署联调

服务治理体系强依赖SDK升级

K8s下应用IP的不确定、导致服务治理规则的失效

(2)在稳定方面

业务高可用、多可用区部署

同城/异地容灾,业务多活

微服务需要更安全、更可信的环境

(3)在成本方面

应用迁移上云成本很高

极致、灵活的弹性(流量高峰时自动扩容,流量低谷时自动缩容,保证扩容、缩容过程中的流量无损)

3.云原生下微服务趋势

(1)后端服务 BaaS 化

DB,MQ, Redis,注册中心、配置中心、服务治理中心

(2)服务治理下沉、透明化

Java Agent, Sidecar, Java治理和Mesh治理的统一,应用0成本上云

(3)部署形态多云、混合云化

本地云端混部、多云混部、公私混部

下面提一下,服务治理是微服务化深入地必经之路

从Cloud Hosting云上部署到Service Governance服务治理,服务治理的目的是为了提高效率/稳定性,同时是以业务为核心,保证业务永远不会停机。

image.png

4. 阿里微服务治理演进路线

image.png

2008年推出自研微服务,导出的问题是依赖冲突难以管理,同时SDK升级的成本非常高;2013年推出Fat-SDK Pandora,是基于类加载器的隔离容器,它使得用户无需关心SDK升级的成本,同时解决了依赖冲突的问题,通过运维平台使运维治理的效率大为提升;

2019年主推Proxyless Mesh,其实就是 Java Agent的一个方式,可以对Java应用实现无侵入、0成本升级,同时它是全面兼容市面上近五年的 Dubbo 和 Spring 的框架;后面在做的是双模的微服务治理,不仅仅是Java体系的治理,同时也支持多语言体系,通过 One Mesh 的方式来支持,同时它也是易购产品下支持多语言的服务治理,并且多语言与 Java 的服务治理是保持一致的。

5.服务治理的区分

image.png

服务治理分为三个部分,第一部分是开发态Dev,第二是测试态Test,最后就是运行态Ops,运行态再细分,又分为发布态、安全态 Sec、高可用

6.基于 Java Agent 的服务治理

通过Java Agent实现:

业务无侵入、无感知

0成本升级

全面兼容开源

主打更轻量:不改变现有业务架构

image.png 

7.Spring Cloud 上云最佳路径

image.png

当原先完成是在云下时,是通过Spring Cloud开源自建的模式。当迁移上云之后只需要保留最基本的Spring boot、配置、注册发现、客户端调用等最小的依赖,更多的服务治理能力都通过无侵入的Java Agent云产品提供。同时控制台都会使用云产品控制台。

 

二、来电科技微服务治理落地挑战

1.来电科技全面容器化的优势

来电科技现在处于一个全面容器化的阶段,下面介绍一下全面容器化给来电科技带来的好处:部署方便,发布效率大大提高;秒级扩缩容自动恢复;大大节约服务器成本稳定性增强;运维成本大大降低

2. 来电科技微服务治理落地的困局

(1)安全变更三板斧:可灰度、可监控、可回滚

image.png

(2)痛点:在系统服务的发布过程中如何避免业务流量的损失;

因为系统的复杂,安全生产要做到可灰度、可监控、可回滚的能力。但目前系统缺少简单有效的灰度能力,每次系统发布都存在一定的稳定性风险。

(3)为什么来电科技不考虑自建?

接入成本高;维护成本高;功能较单一,不灵活;缺少强大的团队支持

(4)挑战:技术复杂度高;运维成本上升;可定位性变差;快速迭代难以控制风险

下面进一步讲解一下为什么技术复杂度变高以及运维成本上升:

全链路灰度-物理环境隔离

image.png

如果环境比较少,可以使用多套的物理环境隔离,但是我们可以直观的看到;

每套环境都要部署全部服务,机器成本、运维成本是非常高的;同时

创建环境、销毁环境不够灵活;这种方式无法满足多种隔离需求

如果机器的数量少是可以使用这种方式,但是当数量多时,成本会非常高。

所以全链路灰度一般都会选用逻辑环境隔离

image.png

如果服务 A 要到服务 B,要根据流量的标签进行选择是正式环境还是灰度环境,一跳节就要涉及动态路由的能力;如果要实现全链路化,还要对节点进行打标并且对流量进行染色,同时还要具备分布式链路追踪的能力,就是流量不仅要染色,同时流量也可以传递下去。比如说,网关进入灰度流量,到正式环境 A 这边,A 这边也可以到正式环境,但是到 B 的话需要跳到B的灰度环境,所以需要具备分布式链路追踪的能力。

可以看到,其实以上四种能力都有,但是真正完成的时候,成本是非常高的并且技术的复杂度也很高。

相关文章
|
SQL NoSQL 前端开发
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
基于BS架构的饰品购物平台设计与实现(程序+文档+数据库)
|
Unix Linux
`grep`命令进行文本搜索并忽略大小写
`grep`命令进行文本搜索并忽略大小写
730 2
|
11月前
|
机器学习/深度学习 JSON API
淘宝图片搜索接口(Taobao.item_search_img)
淘宝图片搜索接口(Taobao.item_search_img)允许开发者通过上传商品图片或提供图片地址,获取相似的淘宝商品列表。该接口基于深度学习和计算机视觉技术,支持注册账号、申请权限、构造请求参数、调用接口、解析响应数据等步骤。适用于电商平台购物体验提升、商家商品优化与推广、商品推荐系统和图片版权保护等场景。
1172 4
|
存储 运维 关系型数据库
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
2024年最全ceph的功能组件和架构概述(2),Linux运维工程面试问题
|
存储 缓存 物联网
个人项目中技术落地的基础入门(3)
个人项目中技术落地的基础入门
182 6
|
负载均衡 安全 Cloud Native
Web应用防火墙
本文介绍了Web应用防火墙(Web Application Firewall,简称WAF)2.0和3.0版本的关系、区别、如何快速使用WAF。
379 1
|
12月前
|
JavaScript 前端开发
`addEventListener` 方法的第三个参数有什么作用?
【10月更文挑战第29天】`addEventListener` 方法的第三个参数提供了对事件传播阶段的精细控制,使开发人员能够根据具体的业务场景和需求,灵活地处理事件的触发顺序和执行逻辑,从而实现更加丰富和精确的交互效果。
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
407 9
|
SQL 安全 网络安全
网络安全的守护之盾:漏洞防护与加密技术解析
【8月更文挑战第31天】 在数字化时代的浪潮中,网络安全已成为保障信息资产安全的基石。本文将深入探讨网络安全中的漏洞防御策略、加密技术的运用,以及提升个人和企业安全意识的重要性。通过具体案例分析,揭示网络攻击的常见手段和防范措施,同时提供实用的代码示例,旨在为读者构建一道坚固的网络安全防线。
LabVIEW创建自定义输入控件、显示控件和自定义类型1
LabVIEW创建自定义输入控件、显示控件和自定义类型1
493 1

热门文章

最新文章

下一篇
开通oss服务