【实战】微服务实施整体方略

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 许多企业都有业务系统庞杂,想拆解微服务,进而可以降低运营成本,提高开发效率和速度,同时达到节点快速迁移的目的。 恰巧小编最近刚做了一个航空公司的业务系统改造项目,需求是将现有的核心业务拆解微服务,将所有服务模块假设在云端,自由扩展以应对未来各种复杂的开发环境。

许多企业都有业务系统庞杂,想拆解微服务,进而可以降低运营成本,提高开发效率和速度,同时达到节点快速迁移的目的。
恰巧小编最近刚做了一个航空公司的业务系统改造项目,需求是将现有的核心业务拆解微服务,将所有服务模块假设在云端,自由扩展以应对未来各种复杂的开发环境。
在第一阶段的调研中,小编发现该公司的的核心系统都是传统单体式应用(Monolith),应用间协同通过API接口调用。系统存在严重的重复开发的问题(比如中间件,数据库等)。1

在这样一个系统中,平台的VMWARE,中间件,底层开发平台Java,应用开发Python和网页开发JavaScript被集中在了一起,每个部件的更新升级都牵连了所有其他部件的关联测试,效率极低。
迁移微服务的第一步就是将一个庞杂的系统拆解为耦合程度不同的各个功能模块,从流程上拆分,一个航空订票系统可以拆解为订票、更新用户信息、创建用户、时刻表查询、计费、选座及更新票仓六大功能模块,模块的高度代表了被调用的频率。
2

拆解后的服务都是相互独立的,服务间通过REST或SOAP调用(下期我们来介绍SOAP),拆解完成之后,应用层和中间件就分离开来了。
3

此时我们发现,系统的底层还是运行在一个虚拟机的操作系统之上,严格意义上说应用模块间并没有完全解耦。并且中间件要给适用各种开发平台,就需要定义不同的接口标准。
微服务化之后,应用的复杂度从内部转向了外部。各组件的开发和调用变得简单了,但对外部的接口就无法统一了,这包括了业务接口以及运维接口。 微服务化后,对外API需要重新整合,有些API甚至需要关闭对外发布。
4

为了满足上面提到的系统资源动态分配,在考虑操作系统的时候,也要跳出固有的VM框架,建议将其部署在更进一层的PaaS服务(至少操作系统是分布式的)上,这里的PaaS可以是私有云也可以是私有云。同时应对不同开发平台的中间件服务,需要定义不同的API以优化上层调用的便利性。
5

相关文章
|
6月前
|
消息中间件 NoSQL Kafka
微服务轮子项目(01) - 整体架构
微服务轮子项目(01) - 整体架构
68 0
|
8月前
|
Dubbo Java 应用服务中间件
Spring Cloud分布式微服务整体架构
Spring Cloud分布式微服务整体架构
185 0
|
8月前
|
运维 应用服务中间件 Serverless
微服务和 Serverless 架构-EDAS 整体架构
微服务和 Serverless 架构-EDAS 整体架构
412 0
微服务和 Serverless 架构-EDAS 整体架构
|
10月前
|
云安全 供应链 NoSQL
创新!阿里首发微服务实施手册我粉了,原来微服务还可以这样玩
相信大家在网上会看到很多帖子把分布式跟微服务放在一起讨论。确实,微服务就是一种分布式架构的设计方法。但是,在微服务概念还没有出现之前,分布式这个概念并不能引起人们的强烈关注,如果说自己擅长分布式架构设计,可能没有多少人理你,但如果说自己精于微服务架构设计,情况那就大不一样了。有关于微服务的优点,网上大把的文章已经说的很清楚了,我就不细说了,简单来说微服务能够创建一个“打不垮”的系统。以至于现在,微服务架构已经成为家公司技术 是否先进、是否具有规模发展的标杆配置。
创新!阿里首发微服务实施手册我粉了,原来微服务还可以这样玩
|
运维 监控 Dubbo
东方证券:我们如何成功实施微服务(3)
东方证券:我们如何成功实施微服务
107 0
|
弹性计算 运维 负载均衡
东方证券:我们如何成功实施微服务(2)
东方证券:我们如何成功实施微服务
102 0
|
运维 自然语言处理 Dubbo
东方证券:我们如何成功实施微服务(1)
东方证券:我们如何成功实施微服务
158 0
|
存储 SQL 关系型数据库
微服务篇:通过查询实施数据解放
基于查询的数据解放涉及查询数据存储并将所选择的结果发布到相关的事件流中。一个使用合适的 API、SQL 或类 SQL 语言的客户端会被用于向数据存储请求特定的数据集。必须能够批量查询数据集以提供事件的历史记录,然后定期更新,以确保数据的更改被发布到输出事件流中。
|
消息中间件 存储 前端开发
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(1):整体介绍
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(1):整体介绍
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(十三)rocketmq 篇(1):整体介绍
|
Java 微服务 Spring
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(一) (mini-cloud) 整体架构图
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(一) (mini-cloud) 整体架构图
从0到1 手把手搭建spring cloud alibaba 微服务大型应用框架(一) (mini-cloud) 整体架构图