微服务拆分

微服务拆分是做微服务架构很重要也很难的话题,很多时候,几个服务是合还是拆在设计团队内也很难达成共识。

当你纠结应该拆分和合并时我建议就先合并,等后面版本迭代需要时有必要再去做拆分。从系统发展的角度说,很多平台也都是从单体大应用、逐步拆分演化而来的,就像有位大牛说的那样,一开始就拆分的很好的微服务实践往往是失败的,成功的微服务平台都是在演化中迭代而来的。因为微服务拆分看似单个服务明确简单了,但服务间调用管理就麻烦很多,原来进程内函数调用、单数据库表查询连接及事务处理都不能用了,要用各种方法处理数据一致性问题。

微服务的拆分一般是从业务角度入手,然后考虑功能复用及团队成员情况做适合粒度的划分。评价拆分好坏的重要指标是拆分前开发维护成本<拆分后的开发维护成本,并且每个服务应该有3-10个人的团队来负责,人数太多容易指责不清,人数太少如果负责人有事请假不在出问题就找不到人了。

原文地址:https://www.cnblogs.com/doit8791/p/9913150.html

时间: 2024-08-30 03:23:54

微服务拆分的相关文章

论微服务拆分

微服务拆分的起点 使用微服务架构模式的思想对目标系统进行拆分之前,我们需要先明白服务拆分起点和终点,以及需要考虑的因素与坚持的原则.所谓起点就是需要清楚拆分的是已有的项目还是新的项目,如果是已有的项目,那么这个项目处于什么样的架构阶段.而终点则是服务拆分后所需达到的架构阶段,以及后续扩展性的考虑,毕竟好的架构不是一次性设计出来的,而是不断进化来的. 不适合使用微服务的业务场景: 系统中包含很多很强事务场景的,分布式事务比较难处理,而且由于CAP定律的原因,也无法保证数据的强一致性 业务相对稳定,

从数据闭环谈微服务拆分

Tips:关注公众号:松花皮蛋的黑板报,领取程序员月薪25K+秘籍,进军BAT必备! 数据闭环,并不是说我们要将所有的功能全包揽在身上,不依赖其他业务方,也不依赖中台.而是想强调一件事,那就是业务问题排查过程尽量不要牵扯过多团队,因为数据链路越长越乱处理问题时效性越差,服务性能往往也不尽人意.我先分享个案例给你,或许能帮助你理解和产生共鸣. 我们有一个内容渠道是直播,渠道权限和创建直播间入口都是我们来维护的,但是创建直播后的内容保存接口是直播团队维护的,保存接口会校验达人权限和等级,而校验接口又

以实例说明微服务拆分(以SpringCloud+Gradle)

前言 之前,我都是说了很多的关于微服务的概念,说到底,很多人看了之后会认为没有什么意思,因为没有实际的东西说明,即使每个概念都明白了,也很难赋之实践.所以这次,我来用一个实际的例子去说明,在实际的项目过程中我们会如何去构建我们的微服务. PS:我们只是利用场景去模拟我们微服务构建或者说拆分的整个过程,对于场景本身在实际中会出现的问题我们不做考虑,说白了就是我们不考虑场景本身在实际生活中是不是这样的. 使用SpringCloud+Gradle构建 本文目的:让你体会到服务拆分本身,引起你对服务拆分

微服务化之服务拆分与服务发现

本文章为<互联网高并发微服务化架构实践>系列课程的第六篇 前五篇为: 微服务化的基石--持续集成 微服务的接入层设计与动静资源隔离 微服务化的数据库设计与读写分离 微服务化之无状态化与容器化 微服务化之缓存的设计 一.服务拆分的前提 说到微服务,服务拆分是绕不过去的话题,但是微服务不是说拆就能拆的,有很多的前提条件,需要完成前面几节所论述的部分. 首先要有一个持续集成的平台,使得服务在拆分的过程中,功能的一致性,这种一致性不能通过人的经验来,而需要经过大量的回归测试集,并且持续的拆分,持续的演

三、微服务的拆分与编写

[微服务的概念,使用场景,建模,架构通览,拆分微服务并且一步步分析,编写一些基础的微服务功能] 微服务的拆分与编写 (一).单体架构 什么是单体架构? 一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用.架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格. 架构图  缺陷 1.复杂性高整个项目包含的模块非常多,模块的边界模糊,依赖关系不清晰,代码质量参差不齐,整个项目非常复杂.每次修改代码都心惊胆战,甚至添加一个简单的功能,或者修

微服务架构(Microservice Architecture)

之前一段时间,有听部门架构说起接下来公司要使用微服务架构来研发系统,当时没怎么在意,因为是第一次听说微服务这个名词(果然无知者无畏啊):正好赶上五一假, 我自告奋勇的,接了编写微服务架构培训文档这个任务(也许因为我是文科生,文笔稍微好点).五一假期三天,基本都是在看资料,梳理思路以及编写接下来的培训文档中度过. 下面,就说说我这几天的一些收获吧:先说说资料来源吧:有架构给我的一些资料,以及自己百度和论坛.社区找来的一些资料,权当做一个总结式的简介... 目录如下: 一.微服务架构介绍 二.出现和

从单体架构迁移到微服务,8个关键的思考、实践和经验

转载本文需注明出处:EAII企业架构创新研究院(微信号:eaworld),违者必究.如需加入微信群参与微课堂.架构设计与讨论直播请直接回复此公众号:“加群 姓名 公司 职位 微信号”.   随着微服务架构的持续火热,网络上针对微服务和单体架构的讨论也是越来越多.去年的时候,社区更多的关注点是在二者的区别以及优缺点辨析上,而今年,越来越多的人开始关注如何从单体架构迁移到微服务上.毋庸置疑,微服务的理念正在席卷整个开发者社区,像Netflix.Uber这样的公司都是非常成功的应用案例. 但需要注意的

测试——《微服务设计》读书笔记

一.测试象限(Brain Marick) 二.测试金字塔(Mike Cohn)       1.单元测试 通常只测试一个函数或方法调用,通过TDD或者基于属性而写的测试就属于这一类,在UnitTest中,我们不会启动服务,对且对外部文件和网络连接的使用也很有限,通常我们需要大量的单元测试. 单元测试是帮助开发人员,是面向技术而非业务的.       2.服务测试 对于包含多个服务的系统,一个服务测试只测试其中一个单独服务的功能.只测试一个单独的服务可以提高测试的隔离性,这样我们可以更快地定位并解

微服务(Microservice)那点事

原文出处: 云栖社区 WHAT – 什么是微服务 微服务简介 这次参加JavaOne2015最大的困难就是听Microservice相关的session,无论内容多么水,只要题目带microservice,必定报不上名,可见Microservice有多火.最喜欢其中一页.关于这个典故,可以参考this,此图适用于一切高大上的名字——技术有SOA,Agile,CLOUD,DevOps等等,古代有道,气,八卦等等.此类名词的最大特点就是 一解释就懂,一问就不知,一讨论就打架. 微服务的流行,Mart