微服务划分的方法是什么

发布时间:2022-01-07 15:21:23 作者:iii
来源:亿速云 阅读:164

本篇内容介绍了“微服务划分的方法是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

拆分姿势

1.姿势一:

  新浪微博微服务专家胡忠想从纵横两个维度来划分,简单粗暴:

1.1 纵向拆分

  从业务****维度进行拆分。标准是按照业务的关联程度来决定,关联比较密切的业务适合拆分为一个微服务,而功能相对比较独立的业务适合单独拆分为一个微服务。

1.2 横向拆分

  从公共且独立功能****维度拆分。标准是按照是否有公共的被多个其他服务调用,且依赖的资源独立不与其他业务耦合。

  纵向以业务为基准,关系铁的在一起;横向功能独立的在一起。我想如果拆分这么简单,你有底气拆,敢拆吗?所以我们又继续比对一下其他专家的言论。

微服务划分的方法是什么

2.姿势二:

  阿里的小伙伴从综合的维度来看,部分维度和上面会有重合。

2.1 服务拆分要迎合业务的需要

  充分考虑业务独立性和专业性,避免以团队来定义服务边界,从而出现“土匪”抢地盘,影响团队信任。

  这个维度和上面的类似,但是强调的是业务和团队成员的各自独立性,对上面是一种很好的补充。

2.2 拆分后的维护成本要低于拆分前

  这里的维护成本包括:人力、物力、时间。

  这里的成本对大部分中小团队来说都是必须要考虑的重要环节,如果投入和收益不能成正比,或者超出领导的预算或者市场窗口,那么先进的技术就是绊脚石,千万不要迷恋技术,所谓工程师思维千万要不得。

2.3 拆分不仅仅是架构的调整,组织结构上也要做响应的适应性优化

  确保拆分后的服务由相对独立的团队负责维护。

  这句话怎么理解呢?传统的团队划分是按照产品部、前端、后端横向划分,微服务化以后的团队可能就会是吃一张披萨饼的人数,产品、前端、后端被归类到服务里面,以服务为中心来分配人数。

2.4 拆分最有价值的结果是提高了系统的****可扩展性

  把具有不同扩展性要求的服务拆分出来,分别进行部署,降低成本,提高效率。比如全文搜索服务。

  这点和上面的按功能独立性来拆分有点类似,功能独立其实就是面向可扩展性。

2.5 考虑软件****发布频率

  比如把20%经常变动的部分进行抽离,80%不经常变动的单独部署和管理。说白了就是按照8/2原则进行拆分。这个拆分的好处很明显,可以尽可能的减少发布产生的后遗症,比如用户体验、服务相互干扰等。

  但是这里有一个问题,假如20%的服务分属于不同的业务层面,那该怎么办?所以这里的拆分应该有个优先级,在拆分相互冲突的时候应该要优先考虑权重比较高的那个。

微服务划分的方法是什么

3.姿势三:

  资深技术专家李运华在他的架构书中给出的拆分:

3.1 基于业务逻辑

  将系统中的业务按照职责范围进行识别,职责相同的划分为一个单独的服务。这种业务优先的方式在前面两种姿势当中都出现过,可见是最基本,最重要的划分方式.

“微服务划分的方法是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 微服务是什么?微服务架构又是什么?
  2. 6个vlan划分方法

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

微服务

上一篇:Linux系统cpu的100%修复方法是什么

下一篇:c++显式栈如何实现递归

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》