当前位置:首页 > 科技  > 软件

唯品会微服务架构演进之路

来源: 责编: 时间:2024-06-05 17:46:11 245观看
导读唯品会是业界在服务化走得比较彻底的一家公司,主要体现有两方面,一是在彻底落地,二是纯自研。从2015年开始建设至今,微服务基础中台已经成为唯品会最为重要的技术基础设施之一,在唯品会所有关键业务场景全面深入落地,并承载

唯品会是业界在服务化走得比较彻底的一家公司,主要体现有两方面,一是在彻底落地,二是纯自研。从2015年开始建设至今,微服务基础中台已经成为唯品会最为重要的技术基础设施之一,在唯品会所有关键业务场景全面深入落地,并承载着几乎全部用户流量的请求处理和后端服务调用。在体系内注册的独立服务数超过3000,独立方法数万级别,高峰时每小时承载着千亿次服务调用,服务化网关作为流量入口承载着百万级别QPS。
SVI28资讯网——每日最新资讯28at.com

单体架构

特点:SVI28资讯网——每日最新资讯28at.com

  • 采用LAMP技术栈。
  • 所有功能模块都集成在一个应用程序中。
  • 数据库存在单点故障风险。

问题:SVI28资讯网——每日最新资讯28at.com

  • 随着业务增长,应用变得复杂,维护困难。
  • 数据库负载过高,扩展性差。

垂直应用架构

特点:SVI28资讯网——每日最新资讯28at.com

  • 将单体应用拆分为多个独立的垂直应用。
  • 每个应用有独立的数据库。

图片图片SVI28资讯网——每日最新资讯28at.com

垂直应用架构

特点:SVI28资讯网——每日最新资讯28at.com

  • 将单体应用拆分为多个独立的垂直应用。
  • 每个应用有独立的数据库。

问题:SVI28资讯网——每日最新资讯28at.com

  • 数据一致性难以保证。
  • 应用之间的依赖关系复杂,导致维护成本高。

图片图片SVI28资讯网——每日最新资讯28at.com

微服务架构

特点:SVI28资讯网——每日最新资讯28at.com

  • 将垂直应用进一步拆分为更小的微服务。
  • 每个微服务独立部署,独立数据库。
  • 通过API进行通信。

实践:SVI28资讯网——每日最新资讯28at.com

  • 订单服务化:将订单处理拆分为多个独立的微服务,如查询订单、取消订单、退款等。
  • 服务能力开放:通过API网关开放服务能力,构建生态系统。

图片图片SVI28资讯网——每日最新资讯28at.com

为什么要这么分呢?SVI28资讯网——每日最新资讯28at.com

1.分层清晰:

架构图按照功能层次划分,每一层都有明确的职责和边界,确保了系统的模块化   和可维护性。SVI28资讯网——每日最新资讯28at.com

2.服务独立:

基础服务、聚合服务和流程服务之间的依赖关系明确,每个服务都可以独立开发、部署和扩展,提升了系统的灵活性和可靠性。SVI28资讯网——每日最新资讯28at.com

3.复用性高:

基础服务提供了最基本的业务功能,聚合服务通过调用基础服务实现更高层次的业务功能,提高了服务的复用性,减少了重复开发工作。 SVI28资讯网——每日最新资讯28at.com

4.面向用户的聚合API服务:

顶层的聚合API服务面向不同的业务线,提供统一的接口,方便前端应用调用。这种设计确保了用户操作的统一性和一致性。SVI28资讯网——每日最新资讯28at.com

订单服务化

图片图片SVI28资讯网——每日最新资讯28at.com

服务模块职责明确,售前、售后、履约、定时任务和公共服务等各自独立,避免了职责混乱,提高了系统的可维护性和扩展性。各个服务模块可以独立开发、部署和扩展,方便根据需求进行调整和优化,提升系统的灵活性。定时任务和公共服务的独立设计,使得系统在高并发和复杂场景下也能保持高可用性,减少了单点故障的风险,通过分层设计,将复杂的业务逻辑分解为多个小的模块,减少了单个模块的负载,提高了整体系统的性能。各个模块独立管理,方便运维和监控,可以快速定位和解决问题,提高系统的运维效率,通过将自营订单服务和第三方订单服务分开设计,支持多种业务模式,方便企业拓展不同的业务渠道。SVI28资讯网——每日最新资讯28at.com

订单服务化和取消订单相关服务交互

图片图片SVI28资讯网——每日最新资讯28at.com

服务能力开放共建生态

图片图片SVI28资讯网——每日最新资讯28at.com

微服务整体架构

图片图片SVI28资讯网——每日最新资讯28at.com

微服务架构最佳实践

图片图片SVI28资讯网——每日最新资讯28at.com

1. 业务驱动原则

  • 识别核心业务域,形成基础业务能力:首先要识别和理解业务的核心部分,确保微服务的设计和实现是围绕这些关键业务能力展开的。
  • 根据业务定位、范围、边界进行服务的划分:根据业务需求和功能进行合理的服务划分,确保每个微服务有明确的边界和职责。
  • 首先关注服务的业务范围,而不是服务的数量、粒度:重点在于服务的功能和作用,而不是追求将系统拆分为尽可能多的小服务。

2. 服务分层原则

  • 划分基础、聚合、流程服务:将服务划分为基础服务(提供基本功能)、聚合服务(组合多个基础服务)、流程服务(实现复杂业务流程)。
  • 基础服务贴近业务实体,提供业务的基础能力:基础服务直接支持业务实体,提供基本的业务操作和数据管理。
  • 聚合服务聚合基本业务场景,满足高一层业务场景并可复用:聚合服务通过组合基础服务,实现更复杂的业务功能,支持更高层次的业务需求。
  • 流程服务面向复杂业务流程实现,通过驱动多个聚合/基础服务实现一个完整的业务流程:流程服务负责协调多个服务,完成复杂的业务流程。

3. 服务松耦合原则

  • 服务职责单一,一个服务聚焦在特定业务的有限范围内,有助于敏捷开发和独立发布:每个服务应该有明确的职责范围,避免职责过于宽泛,以便独立开发和部署。
  • 区分核心业务服务和非主核心业务服务:核心业务服务是系统的关键部分,非主核心业务服务则是辅助性的功能。
  • 区分稳定服务和易变服务:将频繁变化的服务和稳定的服务分开管理,减少变化对系统整体的影响。
  • 每个服务只能访问自己的数据:服务之间通过API进行通信,避免直接访问其他服务的数据,增强系统的模块化和独立性。

4. 服务独立部署原则

  • 服务独立部署,能够独立发布或取消发布:每个服务都可以独立部署,不依赖于其他服务,发布和回滚都非常灵活。
  • 服务可水平扩展,并支持单独扩展:服务能够根据需求进行水平扩展,支持弹性伸缩。
  • 实现持续集成和自动发布:通过持续集成和自动化工具,实现服务的自动化构建、测试和部署。
  • 实现服务的技术和业务监控:对服务的运行状态进行实时监控,确保系统的稳定性和性能。

5. 兼容性原则

  • 接口契约先行,提供最新在线服务文档:服务之间的接口要有明确的契约,并提供最新的文档,确保各服务之间的兼容性。
  • 服务版本管理,保证向前兼容:通过版本管理,确保新版本的服务能够兼容旧版本,平滑过渡。

本文链接:http://www.28at.com/showinfo-26-92166-0.html唯品会微服务架构演进之路

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Python装饰器泛化公有和私有属性

下一篇: 串口通信利器:SerialPortStream库详解,轻松实现C#串口开发

标签:
  • 热门焦点
  • 直屏旗舰来了 iQOO 12和K70 Pro同台竞技

    旗舰机基本上使用的都是双曲面屏幕,这就让很多喜欢直屏的爱好者在苦等一款直屏旗舰,这次,你们等到了。据博主数码闲聊站带来的最新爆料称,Redmi下代旗舰K70 Pro和iQOO 12两款手
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • 如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 多线程开发带来的问题与解决方法

    使用多线程主要会带来以下几个问题:(一)线程安全问题  线程安全问题指的是在某一线程从开始访问到结束访问某一数据期间,该数据被其他的线程所修改,那么对于当前线程而言,该线程
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 8月见!小米MIX Fold 3获得3C认证:支持67W快充

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
  • 华为Mate 60保护壳曝光:硕大后置相机模组 凸起程度有惊喜

    这段时间以来,关于华为新旗舰的爆料日渐密集。据此前多方爆料,今年华为将开始恢复一年双旗舰战略,除上半年推出的P60系列外,往年下半年的Mate系列也将
  • 三星获批量产iPhone 15全系屏幕:苹果史上最惊艳直屏

    按照惯例,苹果将继续在今年9月举办一年一度的秋季新品发布会,有传言称发布会将于9月12日举行,届时全新的iPhone 15系列将正式与大家见面,不出意外的话
  • 自研Exynos回归!三星Galaxy S24系列将提供Exynos和骁龙双版本

    年初,全新的三星Galaxy S23系列发布,包含Galaxy S23、Galaxy S23+和Galaxy S23 Ultra三个版本,全系搭载超频版骁龙8 Gen 2,虽同样采用台积电4nm工艺制
Top