带你读《企业级云原生白皮书项目实战》——6.2.1 缘起(下)

简介: 带你读《企业级云原生白皮书项目实战》——6.2.1 缘起(下)

《企业级云原生白皮书项目实战》——第六章 云原生最佳实践——6.2 全面容器化之后,来电科技如何实现微服务治——6.2.1 缘起(上): https://developer.aliyun.com/article/1227887?groupCode=supportservice


6.2.1.2 稳定发布三板斧的诉求

日常发布中,我们常常会有如下一些错误的想法:

•这次改动的内容比较小,而且上线要求比较急,就不需要测试直接发布上线好了。

•发布不需要走灰度流程,快速发布上线即可。

•灰度发布没有什么用,就是一个流程而已,发布完就直接发布线上,不用等待观察。

•虽然灰度发布很重要,但是灰度环境很难搭建,耗时耗力优先级并不高。

这些想法都可能让我们进行一次错误的发布。

阿里巴巴内部有安全生产三板斧概念: 可灰度、可观测、可回滚。所有研发同学必须要掌握发布系统的灰度、观测和回滚功能如何使用。

互联网频繁发布是常态,对于来电科技来说也是如此,系统具备灰度、观测、回滚的能力是微服务系统必须具备的能力,灰度可以说是发布之前的必备流程,也是提升线上稳定性的关键因素。当服务有新版本要发布上线时,通过引流一小部分流量到新版本,可以及时发现程序问题,有效阻止大面积故障的发生。业界上已经有比较成熟的服务发布策略,比如蓝绿发布、A/B 测试以及金丝雀发布,这些发布策略主要专注于如何对单个服务进行发布。

来电科技的微服务数目众多,服务之间的依赖关系错综复杂,如果采用多套环境的硬隔离,会使得成本大幅升高,发布方式变得复杂。有时某个功能发版依赖多个服务同时升级上线。希望可以对这些服务的新版本同时进行小流量灰度验证,通过构建从Ingress网关到整个后端服务的环境隔离来对多个不同版本的服务进行灰度验证,这就是微服务治理中的全链路灰度的能力。


6.2.1.2 自研的挑战

来电科技有考虑过自研微服务治理,来电科技架构师汤长征同学也参与过 Dubbo的开源社区,微服务治理研发对于来电科技来说并不是非常困难的事情,但是自研微服务治理组件还是存在以下必不可少的成本问题:

•接入成本高。

•维护成本高。

•功能单一,不灵活,可扩展性低可定位性变差。

考虑到对生产应用进行微服务治理,微服务框架通常会引入服务治理的逻辑,而这些逻辑通常会以SDK的方式被业务代码所依赖,而这些逻辑的变更和升级,都需要每一个微服务业务通过修改代码的方式来实现,这样的变更造成了非常大的接入与升级成本。同时需要对开源的服务框架做治理功能的研发,就意味着需要出人力对微服务治理的组件进行管理与运维,同时自建会使得功能非常贴近业务,也意味着功能将会做得比较薄比较单一,未来的可扩展性就显得比较弱。同时全链路灰度的实现技术细节也是非常之多,动态路由,节点打标,流量打标,分布式链路追踪,技术的实现成本高。由于 Dubbo、Spring Cloud 等服务框架本身的复杂性,同时随着微服务数量逐步增多,链路越来越长,相关的微服务治理问题的定位与解决也成了让人头疼的问题,如果有 Spring Cloud Alibaba、Dubbo 等专业的团队支持,微服务化深入也会变得更加从容。

相关文章
|
23天前
|
监控 算法 NoSQL
Go 微服务限流与熔断最佳实践:滑动窗口、令牌桶与自适应阈值
🌟蒋星熠Jaxonic:Go微服务限流熔断实践者。分享基于滑动窗口、令牌桶与自适应阈值的智能防护体系,助力高并发系统稳定运行。
Go 微服务限流与熔断最佳实践:滑动窗口、令牌桶与自适应阈值
|
1月前
|
数据可视化 Java BI
将 Spring 微服务与 BI 工具集成:最佳实践
本文探讨了 Spring 微服务与商业智能(BI)工具集成的潜力与实践。随着微服务架构和数据分析需求的增长,Spring Boot 和 Spring Cloud 提供了构建可扩展、弹性服务的框架,而 BI 工具则增强了数据可视化与实时分析能力。文章介绍了 Spring 微服务的核心概念、BI 工具在企业中的作用,并深入分析了两者集成带来的优势,如实时数据处理、个性化报告、数据聚合与安全保障。同时,文中还总结了集成过程中的最佳实践,包括事件驱动架构、集中配置管理、数据安全控制、模块化设计与持续优化策略,旨在帮助企业构建高效、智能的数据驱动系统。
120 1
将 Spring 微服务与 BI 工具集成:最佳实践
|
3月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 6 月产品动态
|
23天前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
1月前
|
Prometheus 监控 Java
日志收集和Spring 微服务监控的最佳实践
在微服务架构中,日志记录与监控对系统稳定性、问题排查和性能优化至关重要。本文介绍了在 Spring 微服务中实现高效日志记录与监控的最佳实践,涵盖日志级别选择、结构化日志、集中记录、服务ID跟踪、上下文信息添加、日志轮转,以及使用 Spring Boot Actuator、Micrometer、Prometheus、Grafana、ELK 堆栈等工具进行监控与可视化。通过这些方法,可提升系统的可观测性与运维效率。
178 1
日志收集和Spring 微服务监控的最佳实践
|
6月前
|
人工智能 关系型数据库 OLAP
光云科技 X AnalyticDB:构建 AI 时代下的云原生企业级数仓
AnalyticDB承载了光云海量数据的实时在线分析,为各个业务线的商家提供了丝滑的数据服务,实时物化视图、租户资源隔离、冷热分离等企业级特性,很好的解决了SaaS场景下的业务痛点,也平衡了成本。同时也基于通义+AnalyticDB研发了企业级智能客服、智能导购等行业解决方案,借助大模型和云计算为商家赋能。
491 17
|
6月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 3 月产品动态
|
7月前
|
Cloud Native API
微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态
微服务引擎 MSE 及云原生 API 网关 2025 年 2 月产品动态
|
3月前
|
缓存 Cloud Native Java
Java 面试微服务架构与云原生技术实操内容及核心考点梳理 Java 面试
本内容涵盖Java面试核心技术实操,包括微服务架构(Spring Cloud Alibaba)、响应式编程(WebFlux)、容器化(Docker+K8s)、函数式编程、多级缓存、分库分表、链路追踪(Skywalking)等大厂高频考点,助你系统提升面试能力。
176 0