微服务重构四步法

本文涉及的产品
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 微服务重构四步法

本文是【技术琐话公益直播】5月27日晚分享嘉宾潘志伟在线直播中主题《微服务硬核实战》内容整理,内容有删减调整,直播回放见之前的分享。

1 

如何正确开启微服务

一般情况技术人员需要思考项目使用服务的流程为,框架的选型(spring cloud、dubbo、自研等),跑通微服务项目的案例demo,在以为掌握的情况下开始做计划,并开始做项目。以下通过案例分析几个失败的案例。

案例介绍一:改革需要试错的成本

现象:某公司打算转型微服务架构,招聘了一个有微服务经验的架构师,经过2个月高频率开发后第一个服务化的模块上线了,但是上线后出现了生产事故,最终以技术不合格为由开除了架构师。分析:对结果负责的思想可以理解,但是过程也非常重要。在做微服务架构初期的时候,公司管理层要容忍研发适当的错误。嘉宾观点:改革需要试错成本。

案例介绍二:项目架构调整要获得老板的认可

现象: 有个架构同学反馈,他在公司推行微服务太难了,根本推不动,硬件资源没有, 人力资源也没有,全部都是自己一个人一个模块一个模块的改造。分析:主要原因组织上没有认可,所以没有任何资源,这个项目注定是一个失败的项目。嘉宾观点:技术架构的调整不能仅凭技术的满腔热血,首先要获得老板的认可。

案例介绍三:时间紧急,导致项目失败

业务极速膨胀,公司的CTO也是搞技术的,也认可搞微服务,人力资源部门全力配合招聘研发人员。前提条件是不能影响正常业务迭代,而且微服务整体时间范围要尽可能的短。结果:因为时间紧,每个小团队快速启动开发,结果工程结构各式各样,部署脚本很难统-,结果失败了。嘉宾观点:磨刀不误砍柴工,前期充分培训非常重要。整理一套适合团队的标准代码结构同样重要。
从上面三个案例,我们知道一个微服务的的开启,需要项目负责人、公司承担需要试错的成本、需要获得老板的认可、需要足够的时间去尝试,缺一不可。那如何落地微服务重构了,这里我们介绍微服务重构的四部法则。

2 

微服务重构四步法



image.png


image.png


3 

微服务实战技巧

服务到底怎么拆分?微服务拆分多少合适?这个在市场上面很少有看到类似的书籍来告诉的我们的系统应该怎么拆分。因为每家公司的业务和场景、形态都不尽相同。这里我们根据三个维度进行拆分。

1.初级阶段以功能为力度拆分

2.以迭代频率拆分

3.以接口粒度拆分




image.png


image.png


image.png


image.png


4 

总结

1、微服务并不可怕,怕的是你没搞定领导

2、优化无止境,好的设计减少后续优化成本,有时候提高硬件设备是最优的优化

3、架构本着可用原则,不要过渡架构。架构low点不可耻,可耻的是项目延期、上线后线上Bug频发

4、不要企图规划3年后的架构模式,有可能不到3年你就把自己的架构推翻了

相关文章
|
6月前
|
存储 监控 负载均衡
我们是如何让微服务在实践中“活色生香”的?
我们是如何让微服务在实践中“活色生香”的?
|
1月前
|
Cloud Native Java API
聊聊从单体到微服务架构服务演化过程
本文介绍了从单体应用到微服务再到云原生架构的演进过程。单体应用虽易于搭建和部署,但难以局部更新;面向服务架构(SOA)通过模块化和服务总线提升了组件复用性和分布式部署能力;微服务则进一步实现了服务的独立开发与部署,提高了灵活性;云原生架构则利用容器化、微服务和自动化工具,实现了应用在动态环境中的弹性扩展与高效管理。这一演进体现了软件架构向着更灵活、更高效的方向发展。
|
6月前
|
Kubernetes Java 微服务
【从零开始学微服务】06.微服务架构的建设思路
大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。
72 1
|
6月前
|
开发框架 供应链 监控
【从零开始学微服务】03.软件架构的演化过程
大家好,欢迎来到万猫学社,跟我一起学,你也能成为微服务专家。
81 0
【从零开始学微服务】03.软件架构的演化过程
|
消息中间件 NoSQL Kafka
微服务轮子项目(01) - 整体架构
微服务轮子项目(01) - 整体架构
97 0
|
消息中间件 负载均衡 Java
微服务架构一文详解,微服务其实真的不难
最近几年,微服务可谓是大行其道。在业务模型不完善,超大规模流量的冲击的情况下,许多企业纷纷抛弃了传统的单体架构,拥抱微服务。这种模式具备独立开发、独立部署、可扩展性、可重用性的优点的同时,也带来这样一个问题:开发、运维的复杂性提高。有人感觉微服务越做越不方便管理。
|
运维 监控 负载均衡
关于微服务的一些总结和经验之谈,来看看你都了解吗
关于微服务的一些总结和经验之谈,来看看你都了解吗
763 0
|
消息中间件 监控 Java
BankNext 微服务:案例研究
“ BankNext ”正处于雄心勃勃的数字化转型阶段,并希望使其客户入职流程无缝衔接。经过详细的功能流程分析,BankNext 实现了一个编排架构,可以在各种微服务之间进行协作。
68 0
|
Java 开发者 微服务
单体架构知识点及单体架构的缺陷
一个归档包(例如war格式或者Jar格式)包含了应用所有功能的应用程序,我们通常称之为单体应用。架构单体应用的方法论,我们称之为单体应用架构,这是一种比较传统的架构风格。
单体架构知识点及单体架构的缺陷
|
消息中间件 运维 Kubernetes
我在很多情况下不建议盲目使用微服务架构
依托于容器化的普及,Cloud微服务技术当前比较盛行,在以前应该是Dubbo服务,后来慢慢建立了微服务体系,注册中心,分布式配置等各类组件,后面Nefix组件有些开始不维护,再到AlibabaCloud组件,现在很多开源框架、培训机构等依然以这些做一些宣传点。然后从自己的在多个大中小项目和落地的情况,企业运营管理,跟进行业先进技术发展,后期运维效果等多个角度思考,这无形中也会引起另一方面的方向失误
我在很多情况下不建议盲目使用微服务架构
下一篇
无影云桌面