《2023云原生实战案例集》——02 零售/电商/本地生活——贵州酒店集团 基于SAE实现几乎零改造的微服务升级

简介: 《2023云原生实战案例集》——02 零售/电商/本地生活——贵州酒店集团 基于SAE实现几乎零改造的微服务升级

image.png 

客户简介

贵州酒店集团有限公司于201 9228日注册成立,是经贵州省人民政府批准并授权省 国资委履行出资人职责的省管大型企业,全资及控股子企业23家,自营及委管酒店(项 目)80余家,客房近1.3万间。

客户痛点

酒店集团的信息系统最初部署在阿里云ECS上。系统按照微服务的架构拆分成多个组件,

基于ASP.NET Core框架开发。在开发运维过程中遇到一系列问题:

组件缺少扩展性:集团的业务有明显的峰谷特性,平台会定期上线一些活动,如土特 产秒杀,酒店房间优惠,通过这些活动用户可以获取抢购"贵州名牌白酒'’的资格等。 在活动期间访问量巨大,峰值最高能达到十几万集团的业务有明显的峰谷特性,平台会定期上线一些活动,如土特 产秒杀,酒店房间优惠,通过这些活动用户可以获取抢购"贵州名牌白酒'’的资格等。 在活动期间访问量巨大,峰值最高能达到十几万QPS,是平时的几十倍。

多环境建设不完善:线下测试环境与线上生产环境隔离,线下测试中并不能完全覆盖 线上生产环境的场景,在上线时会出现需要上线的组件在线上真实环境中出现预期之 外的异常,需要快速恢复,这就需要有很好的版本管理,这一块也是缺失的。

团队协同效率低整个系统有多个模块,分散在不同团队,ECS机器也都是独立维护, 发版过程需要上下游链路一起协同,按照依赖关系顺序发布,消耗时间长,协同难度 大。

监控系统不完善:运行状态没有统一的观测平台,遇到问题也只能子系统分别排查, 且缺少问题排查协助工具。

解决方案

image.png

CI/CD的支持:SAE支持云效.Jenkins.源代码、CLoud TooLkit插件、容器镜像服 务等多种部署方式,自动完成从代码提交到应用和任务部署的DevOps完整流程,高 效替代业内部署复杂、迭代缓慢的传统方式,实现了高效的持续交付流程。

高可用和稳定性的支持:SAE支持批量发布,微服务无损上下线,使组件在发布更新 时,不会影响影响整体链路的可用性,另夕卜SAE还支持多可用区的部署,使得应用的 稳定性得到进一步的加强。

权限助手:权限助手可以对SAE的权限进行可视化配置,精确到应用、任务的读写操 作,并在SAE控制台生成对应的权限语句,避免因直接在RAM控制台手动编辑权限 语句而出现纟比漏。

操作审计:SAE记录了所有应用及资源相关的操作详情,包括操作时间、操作内容、 操作人ID等信息,在出现问题时可以快速追溯原因。


用户价值

结合这些SAE的能力,本次信息平台2.0的建设,项目组没有大的改造原来代码逻辑的同 时,基本完成了最初定下的目标,同时在开发,运维和协作的几个方面建设了自己的流 程规范,快速追平了业内的优秀实践。


新系统上线后,通过SAE白屏化的操作界面,运维难度和压力都大大降低。根据RT和 定时的混合策略,应用有了很好的弹缩表现,并且这一切都是自动化的,不再需要运维 司学人为的介入,这一点大大的降低了重复劳动。在团队协作方面,通过阿里云的RAM 体系,开发,测试,运维同学都统一在SAE控制台各司其职,减少了很多不必要的沟通 消耗。


总体来看,系统上线SAE之后,开发运效率提升了50%+,机器成本下降了20%,运维人 力成本下降了60%,扩容速度更是比之前快了十几倍,很好的完成了之前定下的目标。


相关产品

ServerLess 应用引擎SAE

相关实践学习
SAE极速部署弹性微服务商城
本实验带您体验在Serverless应用引擎SAE(Serverless App Engine)上快速部署一个弹性的在线商城微服务应用,使得终端用户可以通过公网访问访问该商城,并进行压力测试以验证其性能与稳定性。
相关文章
|
10月前
|
监控 Java API
Spring Boot 3.2 结合 Spring Cloud 微服务架构实操指南 现代分布式应用系统构建实战教程
Spring Boot 3.2 + Spring Cloud 2023.0 微服务架构实践摘要 本文基于Spring Boot 3.2.5和Spring Cloud 2023.0.1最新稳定版本,演示现代微服务架构的构建过程。主要内容包括: 技术栈选择:采用Spring Cloud Netflix Eureka 4.1.0作为服务注册中心,Resilience4j 2.1.0替代Hystrix实现熔断机制,配合OpenFeign和Gateway等组件。 核心实操步骤: 搭建Eureka注册中心服务 构建商品
1464 3
|
缓存 负载均衡 监控
微服务架构下的电商API接口设计:策略、方法与实战案例
本文探讨了微服务架构下的电商API接口设计,旨在打造高效、灵活与可扩展的电商系统。通过服务拆分(如商品、订单、支付等模块)和标准化设计(RESTful或GraphQL风格),确保接口一致性与易用性。同时,采用缓存策略、负载均衡及限流技术优化性能,并借助Prometheus等工具实现监控与日志管理。微服务架构的优势在于支持敏捷开发、高并发处理和独立部署,满足电商业务快速迭代需求。未来,电商API设计将向智能化与安全化方向发展。
590 102
|
8月前
|
Cloud Native Serverless API
微服务架构实战指南:从单体应用到云原生的蜕变之路
🌟蒋星熠Jaxonic,代码为舟的星际旅人。深耕微服务架构,擅以DDD拆分服务、构建高可用通信与治理体系。分享从单体到云原生的实战经验,探索技术演进的无限可能。
微服务架构实战指南:从单体应用到云原生的蜕变之路
|
8月前
|
监控 Cloud Native Java
Spring Boot 3.x 微服务架构实战指南
🌟蒋星熠Jaxonic,技术宇宙中的星际旅人。深耕Spring Boot 3.x与微服务架构,探索云原生、性能优化与高可用系统设计。以代码为笔,在二进制星河中谱写极客诗篇。关注我,共赴技术星辰大海!(238字)
1353 2
Spring Boot 3.x 微服务架构实战指南
|
NoSQL MongoDB 微服务
微服务——MongoDB实战演练——文章评论的基本增删改查
本节介绍了文章评论的基本增删改查功能实现。首先,在`cn.itcast.article.dao`包下创建数据访问接口`CommentRepository`,继承`MongoRepository`以支持MongoDB操作。接着,在`cn.itcast.article.service`包下创建业务逻辑类`CommentService`,通过注入`CommentRepository`实现保存、更新、删除及查询评论的功能。最后,新建Junit测试类`CommentServiceTest`,对保存和查询功能进行测试,并展示测试结果截图,验证功能的正确性。
327 2
|
NoSQL Java MongoDB
微服务——MongoDB实战演练——文章评论实体类的编写
本节主要介绍文章评论实体类的编写,创建了包`cn.itcast.article.po`用于存放实体类。具体实现中,`Comment`类通过`@Document`注解映射到MongoDB的`comment`集合,包含主键、内容、发布时间、用户ID、昵称等属性,并通过`@Indexed`和`@CompoundIndex`注解添加单字段及复合索引,以提升查询效率。同时提供了Mongo命令示例,便于理解和操作。
256 2
|
人工智能 Java 数据库
飞算 JavaAI:革新电商订单系统 Spring Boot 微服务开发
在电商订单系统开发中,传统方式耗时约30天,需应对复杂代码、调试与测试。飞算JavaAI作为一款AI代码生成工具,专注于简化Spring Boot微服务开发。它能根据业务需求自动生成RESTful API、数据库交互及事务管理代码,将开发时间缩短至1小时,效率提升80%。通过减少样板代码编写,提供规范且准确的代码,飞算JavaAI显著降低了开发成本,为软件开发带来革新动力。
|
10月前
|
负载均衡 监控 Java
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
在微服务架构中,高可用与稳定性至关重要。本文详解熔断、限流与负载均衡三大关键技术,结合API网关与Hystrix-Go实战,帮助构建健壮、弹性的微服务系统。
955 1
微服务稳定性三板斧:熔断、限流与负载均衡全面解析(附 Hystrix-Go 实战代码)
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——MongoTemplate实现评论点赞
本节介绍如何使用MongoTemplate实现评论点赞功能。传统方法通过查询整个文档并更新所有字段,效率较低。为优化性能,采用MongoTemplate对特定字段直接操作。代码中展示了如何利用`Query`和`Update`对象构建更新逻辑,通过`update.inc("likenum")`实现点赞数递增。测试用例验证了功能的正确性,确保点赞数成功加1。
303 0
|
NoSQL 测试技术 MongoDB
微服务——MongoDB实战演练——根据上级ID查询文章评论的分页列表
本节介绍如何根据上级ID查询文章评论的分页列表,主要包括以下内容:(1)在CommentRepository中新增`findByParentid`方法,用于按父ID查询子评论分页列表;(2)在CommentService中新增`findCommentListPageByParentid`方法,封装分页逻辑;(3)提供JUnit测试用例,验证功能正确性;(4)使用Compass插入测试数据并执行测试,展示查询结果。通过这些步骤,实现对评论的高效分页查询。
258 0

相关产品

  • Serverless 应用引擎