栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

微服务简单梳理

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

微服务简单梳理

微服务简单梳理 什么是微服务

想弄懂这个问题,可以看下马丁福乐的论文。论文地址如下https://martinfowler.com/articles/microservices.html
简单归纳,是一种将单个应用程序开发为一组小服务的方法,每个小服务都在自己的进程中运行并与轻量级机制(通常是HTTP资源API)进行通信。这些服务围绕业务功能构建,并且可以由全自动部署机制独立部署。这些服务的集中管理几乎没有,可以用不同的编程语言编写并使用不同的数据存储技术。
这样看还是有点蒙。我们先来看看传统的服务构建模式。

下图是最简单的传统软件建构模式。UI提供用户访问的界面,对web系统来讲,通过浏览器来访问网站界面,js等脚本来通过http来访问后台服务,服务读取数据库数据,并将数据进行各种逻辑处理,返回给UI,展现给用户。

随着业务量的增长,单台服务无法支撑整个业务,我们会对原有的业务进行水平扩展,我们系统可能会变成如下形态。我们水平扩展了服务。这样带来哪些问题呐,我能想到的:
1、服务整体水平扩张,粒度不够精细。比如我们一个服务里面某些业务根本不常用,没必要进行扩张,但是因为整体的架构被迫跟着扩张了。
2、我想更新某个服务的某个功能,导致整体都要进行更新


我们再来看一下微服务的架构。微服务架构模式,将单个服务从原有整体中拆分出来,形成一组单一功能的服务。
从图中也可以看出,每个服务都有牢固的独立的边界,因此他们可以独立部署,甚至使用不同语言进行开发,不同团队进行维护。

怎么组织微服务

这幅图讲的是,UI团 逻辑团队 数据库团队,各自负责各自的模块构建微服务系统,微服务的重点放在了中间的技术团队。这样导致了
协调困难。最微小的改变都需要夸部门或团队。

这幅图将团队人员按照业务进行划分,人员紧密在一起负责独立的一块服务。减少了微服务跨部门协作的困难。

细分的微服务方法不同,分为围绕业务能力组织的服务 。此类服务针对该业务领域采用软件的广泛实施,包括用户界面,持久性存储和任何外部协作。因此,团队是跨职能的,包括开发所需的全部技能:用户体验,数据库和项目管理。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/591017.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号