【微服务】微服务拆分规范

这篇具有很好参考价值的文章主要介绍了【微服务】微服务拆分规范。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、什么是微服务?

将系统的业务功能划分为极小的独立微服务,每个微服务只关注于完成某个小的任务。
系统中的单个微服务可以被独立部署和扩展,且各个微服务之间是高内聚、松耦合的。
微服务之间采用轻量化通信机制暴露接来实现通信。

那么微服务可以怎么拆分呢?

二、拆分模型

2.1、压力模型拆分

压力模型简单来说就是用户访问量,我们要识别出某些超高并发量的业务,尽可能把这部分业务独立拆分出来。

可分为三个拆分维度:

2.1.1、垂直拆分(Vertical Decomposition)

按照业务功能将系统划分为多个微服务,每个微服务只负责其中一个或几个相关功能模块。

2.1.2、水平拆分(Horizontal Decomposition)

按照系统请求流量将系统划分为多个微服务,每个微服务只负责处理部分请求。

2.1.3、动态拆分(Dynamic Decomposition)

根据系统压力动态地调整微服务的数量和节点位置。根据请求流量等因素,自动创建或删除微服务节点,以实现扩展和收缩。

2.2、业务模型拆分

2.2.1、基于业务功能拆分

按照业务功能对微服务进行拆分,每个微服务负责一个或多个功能模块。例如,一个电商网站可以把商品管理、订单管理、支付管理等功能分别拆分成不同的微服务。

2.2.2、基于业务流程拆分

照业务流程对微服务进行拆分,每个微服务负责一个或多个业务流程。例如,一个在线教育平台可以把课程购买、学习记录、作业评分等业务流程分别拆分成不同的微服务。

2.2.3、基于用户场景拆分

按照用户场景对微服务进行拆分,每个微服务负责一种或多种用户场景。例如,一个社交媒体平台可以把用户登录、好友圈、私信聊天等用户场景分别拆分成不同的微服务。

2.2.4、基于数据拆分

按照数据模型对微服务进行拆分,每个微服务负责一种或多种数据。例如,一个企业应用可以把员工信息、薪资信息、绩效信息等数据分别拆分成不同的微服务。

三、领域模型拆分

3.1、按业务流程拆分

整个业务流程拆分为多个服务,每个服务负责一个特定的业务流程。这种方式适用于业务流程比较简单,不涉及多个领域的复杂场景。

3.2、按业务领域拆分

将整个业务系统拆分为多个服务,每个服务负责一个特定的业务领域,例如订单、支付、用户管理等。这样可以使每个服务专注于自己的业务领域,减少耦合,提高扩展性和可维护性。

3.3、按分层架构拆分

将整个业务系统拆分为多个服务,每个服务负责特定的应用程序层或技术架构层,例如Web服务、数据服务、缓存服务等。这种方式适用于需要将不同的技术架构分开管理、部署和扩展的情况。文章来源地址https://www.toymoban.com/news/detail-502100.html

到了这里,关于【微服务】微服务拆分规范的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包