网易首页 > 网易号 > 正文 申请入驻

微服务设计、拆分原则

0
分享至

一 前言

微服务是一种架构风格。一个大型的复杂软件应用,由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好的完成该任务。那么关于微服务的设计原则有哪些呢?如下:

  • AKF 拆分原则

  • 前后端分离原则

  • 无状态服务

  • RestFul 的通信风格

二 AKF 拆分原则

有句挺流行的话:没有什么事是一顿烧烤解决不了的,如果有,那就两顿....。这跟我们之前设计可扩展的系统架构的理念很相像,通过加机器就可以解决容量和可用性问题 。( 如果一台不行那就两台) 。这个理念在当前也得到了广泛的认可!对于一个规模迅速增长的系统而言,容量和性能问题当然是首当其冲的。

但是随着现在业务的更迭不穷以及功能模块的不断拓展,许多系统在设计的时候并没有充分考虑到这一点,所以如果架构重设,必然会导致财力跟人力的浪费。对此,《可扩展的艺术》一书提出了一个更加系统的可扩展模型—— AKF 可扩展立方(Scalability Cube)。这个立方体中沿着三个坐标轴设置分别为:X、Y、Z。

Y 轴(功能) —— 关注应用中功能划分,基于不同的业务拆分

  • X 轴(水平扩展) —— 关注水平扩展,也就是”加机器解决问题”

  • Z 轴(数据分区) —— 关注服务和数据的优先级划分,如按地域划分

  • 2.1 Y 轴(功能)

    Y 轴扩展会将庞大的整体应用拆分为多个服务。每个服务实现一组相关的功能,如订单管理、客户管理等。在工程上常见的方案是 服务化架构(SOA) 。比如对于一个电子商务平台,我们可以拆分成不同的服务,组成下面这样的架构:

    但通过观察上图容易发现,当服务数量增多时,服务调用关系变得复杂。为系统添加一个新功能,要调用的服务数也变得不可控,由此引发了服务管理上的混乱。所以,一般情况下,需要采用服务注册的机制形成服务网关来进行服务治理。系统的架构将变成下图所示:

    X 轴扩展与我们前面朴素理念是一致的,通过绝对平等地复制服务与数据,以解决容量和可用性的问题。其实就是将微服务运行多个实例,做集群加负载均衡的模式。为了提升单个服务的可用性和容量, 对每一个服务进行 X 轴扩展划分

    Z 轴扩展通常是指基于请求者或用户独特的需求,进行系统划分,并使得划分出来的子系统是相互隔离但又是完整的。以生产汽车的工厂来举例:福特公司为了发展在中国的业务,或者利用中国的廉价劳动力,在中国建立一个完整的子工厂,与美国工厂一样,负责完整的汽车生产。这就是一种 Z 轴扩展。

    工程领域常见的 Z 轴扩展有以下两种方案:

    1.单元化架构

    在分布式服务设计领域,一个单元(Cell)就是满足某个分区所有业务操作的自包含闭环。如上面我们说到的 Y 轴扩展的 SOA 架构,客户端对服务端节点的选择一般是随机的,但是,如果在此加上 Z 轴扩展,那服务节点的选择将不再是随机的了,而是每个单元自成一体。如下图:

    2.数据分区

    为了性能数据安全上的考虑,我们将一个完整的数据集按一定的维度划分出不同的子集。一个分区(Shard),就是是整体数据集的一个子集。比如用尾号来划分用户,那同样尾号的那部分用户就可以认为是一个分区。数据分区为一般包括以下几种数据划分的方式:

    • 数据类型(如:业务类型)

    • 数据范围(如:时间段,用户 ID)

    • 数据热度(如:用户活跃度,商品热度)

    • 按读写分(如:商品描述,商品库存)

    举个例子:比如美团,滴滴遍布全国,各个城市的业务进展不太一样,所以可以根据城市来进行数据分区。

    三 前后端分离原则

    这个我们应该很常见,前端做前端的事情,后端做后端的业务模块,分工更加明确。

    那么前后段分离有什么好处呢?

    这种分离方式有几个好处:

    • 前后端技术分离,可以由各自的专家来对各自的领域进行优化,这样前段的用户体验优化效果更好。

    • 分离模式下,前后端交互界面更清晰,就剩下了接口模型,后端的接口简洁明了,更容易维护。

    • 前端多渠道集成场景更容易实现,后端服务无需变更,采用统一的数据和模型,可以支持多个前端:例如:微信 h5 前端、PC 前端、安卓前端、IOS 前端。

    四 无状态服务

    什么是状态?

    如果一个数据需要被多个服务共享,才能完成一笔交易,那么这个数据被称为状态。进而依赖这个“状态”数据的服务被称为有状态服务,反之称为无状态服务。更好的说明见下图:

    场景说明:例如我们以前在本地内存中建立的数据缓存、Session 缓存,到现在的微服务架构中就应该把这些数据迁移到分布式缓存中存储,让业务服务变成一个无状态的计算节点。

    迁移后,就可以做到按需动态伸缩,微服务应用在运行时动态增删节点,就不再需要考虑缓存数据如何同步的问题。这样对于业务的拓展起到了至关重要的作用

    五 RestFul通讯风格

    作为一个原则来讲本来应该是个“无状态通信原则”,在这里我们直接推荐一个实践优选的 Restful 通信风格 ,因为他有很多好处:

    • 无状态协议 HTTP,具备先天优势,扩展能力很强。例如需要安全加密,有现成的成熟方案 HTTPS 即可。

    • JSON 报文序列化,轻量简单,人与机器均可读,学习成本低,搜索引擎友好。

    • 语言无关,各大热门语言都提供成熟的 Restful API 框架,相对其他的一些 RPC 框架生态更完善。

    特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。

    Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.

    相关推荐
    热点推荐
    当过市长、市委书记、厅长,张国伟主动投案

    当过市长、市委书记、厅长,张国伟主动投案

    新京报政事儿
    2025-09-15 10:15:44
    报应来了!于朦胧事件后,程青松被扒到“底裤不剩”,公司已割席

    报应来了!于朦胧事件后,程青松被扒到“底裤不剩”,公司已割席

    草莓解说体育
    2025-09-15 11:39:56
    马思纯晒与陈都灵合照,网友:10年了还这么美!

    马思纯晒与陈都灵合照,网友:10年了还这么美!

    红星新闻
    2025-09-14 16:18:15
    女老师穿“黄色紧身衣”被家长投诉,网友:一看下半身,完蛋!

    女老师穿“黄色紧身衣”被家长投诉,网友:一看下半身,完蛋!

    木子爱娱乐大号
    2025-09-11 17:27:20
    莎局!昨晚孙颖莎赛后请全队吃饭,球迷很好奇,澳门有什么好吃的

    莎局!昨晚孙颖莎赛后请全队吃饭,球迷很好奇,澳门有什么好吃的

    小鞄搞笑解说
    2025-09-15 06:48:58
    杜特尔特病重记忆全失,连至亲都难辨认,海牙被迫破例,司法公信力受考验

    杜特尔特病重记忆全失,连至亲都难辨认,海牙被迫破例,司法公信力受考验

    蓝色海边
    2025-09-15 09:45:59
    当着193国的面,中方把卡塔尔被迫咽下的话,一股脑全说了出来

    当着193国的面,中方把卡塔尔被迫咽下的话,一股脑全说了出来

    小涛叨叨
    2025-09-12 16:24:27
    官宣!河南:整合三所高校,谋划设立新大学

    官宣!河南:整合三所高校,谋划设立新大学

    鲁中晨报
    2025-09-15 09:59:04
    珠海市纪委监委:万惠明被查

    珠海市纪委监委:万惠明被查

    鲁中晨报
    2025-09-15 11:35:38
    超铁的铁哥们!欠中国81亿全额还清,还赠送了一份百亿能源大礼!

    超铁的铁哥们!欠中国81亿全额还清,还赠送了一份百亿能源大礼!

    特特农村生活
    2025-09-14 21:00:44
    挂断王毅电话,鲁比奥转身助菲,黄岩岛进入大乱斗,印度早已下场

    挂断王毅电话,鲁比奥转身助菲,黄岩岛进入大乱斗,印度早已下场

    吴欣纯Deborah
    2025-09-14 10:35:07
    批量伪造!官方通报:内蒙古一医院6名医务人员伪造虚假病历50份、欺诈骗保20.3万

    批量伪造!官方通报:内蒙古一医院6名医务人员伪造虚假病历50份、欺诈骗保20.3万

    扬子晚报
    2025-09-15 07:55:03
    中美密谈了6个小时,美财长眉头紧锁,美国网民感叹:特朗普变了

    中美密谈了6个小时,美财长眉头紧锁,美国网民感叹:特朗普变了

    阿天爱旅行
    2025-09-15 10:08:24
    昨晚,武汉烧了多少钱?答案在全城朋友圈里!

    昨晚,武汉烧了多少钱?答案在全城朋友圈里!

    小小包工头阿汾
    2025-09-15 08:33:21
    外籍童模公然辱华!父母拒绝道歉发图疑似挑衅,品牌火速终止合作

    外籍童模公然辱华!父母拒绝道歉发图疑似挑衅,品牌火速终止合作

    萌神木木
    2025-09-12 19:23:10
    武汉国民政府的瓦解,打土豪让军队哗变,汪精卫成为苏俄顾问傀儡

    武汉国民政府的瓦解,打土豪让军队哗变,汪精卫成为苏俄顾问傀儡

    南极狼人
    2025-09-12 20:40:47
    西贝二次公关疑抄麻六记作业员工哭到哽咽:老板超好给他们 买鞋

    西贝二次公关疑抄麻六记作业员工哭到哽咽:老板超好给他们 买鞋

    花心电影
    2025-09-14 11:08:08
    涉嫌严重违纪违法,张国伟主动投案

    涉嫌严重违纪违法,张国伟主动投案

    FM93浙江交通之声
    2025-09-15 11:17:18
    江苏初二学生朱浩去世,仅15岁,奖状贴满半墙,爷爷患癌父母离婚

    江苏初二学生朱浩去世,仅15岁,奖状贴满半墙,爷爷患癌父母离婚

    裕丰娱间说
    2025-09-14 09:13:22
    王司令员不战而撤,使彭老总险被马家军生擒,后缺席1955年大授衔

    王司令员不战而撤,使彭老总险被马家军生擒,后缺席1955年大授衔

    言今忆史
    2025-09-15 09:56:50
    2025-09-15 13:20:49
    IT架构师联盟 incentive-icons
    IT架构师联盟
    IT架构实战分享
    796文章数 7668关注度
    往期回顾 全部

    科技要闻

    发布会再提乔布斯,苹果高调回归设计初心

    头条要闻

    广西一原县委书记被绑架:凶手冒充执法人员带走受害人

    头条要闻

    广西一原县委书记被绑架:凶手冒充执法人员带走受害人

    体育要闻

    诺维茨基退役十年后,德国篮球走向巅峰

    娱乐要闻

    知名男演员官宣三胎

    财经要闻

    “预制菜大战”100小时

    汽车要闻

    保时捷新款911 Turbo S,双涡轮混动,售272.8万起

    态度原创

    数码
    房产
    教育
    亲子
    军事航空

    数码要闻

    迈从推 59g 对称电竞鼠 A7 V2,Ultra 款配 42000 cpi 定制传感器

    房产要闻

    海口房价,突然止跌!

    教育要闻

    当孩子不尊重你和你顶嘴时,不要发脾气、讲道理,请记住这4句话

    亲子要闻

    孩子无论学习成绩如何,首先让她找到兴趣

    军事要闻

    俄无人机飞入波兰 美国务卿:不可接受

    无障碍浏览 进入关怀版