【文末送书】微服务拆分规范
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |
目录
一. 什么是微服务
将系统的业务功能划分为极小的独立微服务
每个微服务只关注于完成某个小的任务。系统中的单个微服务可以被独立部署和扩展且各个微服务之间是高内聚、松耦合的。微服务之间采用轻量化通信机制暴露接来实现通信。
那么微服务可以怎么拆分呢
二. 拆分模型
Ⅰ. 压力模型拆分
压力模型简单来说就是用户访问量我们要识别出某些超高并发量的业务尽可能把这部分业务独立拆分出来。
可分为三个拆分维度
1. 垂直拆分Vertical Decomposition
按照业务功能将系统划分为多个微服务每个微服务只负责其中一个或几个相关功能模块。
2. 水平拆分Horizontal Decomposition
按照系统请求流量将系统划分为多个微服务每个微服务只负责处理部分请求。
3. 动态拆分Dynamic Decomposition
根据系统压力动态地调整微服务的数量和节点位置。根据请求流量等因素自动创建或删除微服务节点以实现扩展和收缩。
Ⅱ. 业务模型拆分
1. 基于业务功能拆分
按照业务功能对微服务进行拆分每个微服务负责一个或多个功能模块。例如一个电商网站可以把商品管理、订单管理、支付管理等功能分别拆分成不同的微服务。
2. 基于业务流程拆分
照业务流程对微服务进行拆分每个微服务负责一个或多个业务流程。例如一个在线教育平台可以把课程购买、学习记录、作业评分等业务流程分别拆分成不同的微服务。
3. 基于用户场景拆分
按照用户场景对微服务进行拆分每个微服务负责一种或多种用户场景。例如一个社交媒体平台可以把用户登录、好友圈、私信聊天等用户场景分别拆分成不同的微服务。
4. 基于数据拆分
按照数据模型对微服务进行拆分每个微服务负责一种或多种数据。例如一个企业应用可以把员工信息、薪资信息、绩效信息等数据分别拆分成不同的微服务。
Ⅲ. 领域模型拆分
1. 按业务流程拆分
整个业务流程拆分为多个服务每个服务负责一个特定的业务流程。这种方式适用于业务流程比较简单不涉及多个领域的复杂场景。
2. 按业务领域拆分
将整个业务系统拆分为多个服务每个服务负责一个特定的业务领域例如订单、支付、用户管理等。这样可以使每个服务专注于自己的业务领域减少耦合提高扩展性和可维护性。
3. 按分层架构拆分
将整个业务系统拆分为多个服务每个服务负责特定的应用程序层或技术架构层例如Web服务、数据服务、缓存服务等。这种方式适用于需要将不同的技术架构分开管理、部署和扩展的情况。
三. 福利抽奖
送书抽奖活动 五选一
本次活动赠书5本评论区抽取5位小伙伴送书
活动时间: 截止到2023-06-18 20: 00 参与方式: 点赞、收藏本文章并评论“Java不卷我们不卷” 抽奖时间: 2023.06.18 公布时间: 2023.06.18 通知方式:交流群内公布或私信通知
更多活动可继续关注上方的博客好运总会轮到你
阿里云国内75折 回扣 微信号:monov8 |
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6 |