世界看热讯:微服务 - 拆分微服务的问题和拆分方法
现在被谈论最多的就是微服务和中台系统,我个人的理解是微服务或者是中台好不好,主要看实际的业务场景,架构的变迁往往需要耗费很大的学习成
现在被谈论最多的就是微服务和中台系统,我个人的理解是微服务或者是中台好不好,主要看实际的业务场景,架构的变迁往往需要耗费很大的学习成本和时间成本,所以更改架构的时候要三思而后行,适合自己特别重要。
从我入职开始,公司已经从单体走向了垂直拆分,比如单库查询,Redis、Es、MongoDB已经在系统中广泛应用,中途也遇到了些调用混乱的问题,我们在之前的MVC中加入了一个Service层做了一次数据聚合层,并且一直良好运行了很久,峰值请求大概在百万级左右,在寒暑假的时候会稍微多一点。
(资料图)
在开始微服务之前其实我心里有自己的方案,团队比较小,其实没有必要进行微服务的拆分,如果非要拆分在原基础上把yaf换成Swoole模式的,就能得到性能和成本之间的平衡,但是没有得到采纳,其实略有遗憾,在团队里没有话语权,是一件没有办法能解决的问题。
在这里多说一句,微服务并不是解决高并发的问题,微服务是一种架构思想,再了解微服务的过程中,也走了不少弯路,网上有很多Java实现的微服务,Go语言的,Rust的,甚至还有python的,其实单纯从语言层面来说,语言的性能正在缩小,技术人要有自己的思考,不能麻木跟风。
微服务我就不说了,在这里写写那些设计的要素和一定能遇到的坑。
比如我们的业务是阅读App,里面的核心是作品,但是作品的详情页会集中展示评论、用户、章节需要的数据信息,之前都同一个Service层,这是第一个需要思考的问题。
拆分颗粒度:拆分微服务最难的点在于怎么把握服务于服务之间的颗粒度,这个很难把握,如果拆大了,只是改了个名字,换汤不换药,拆小了聚合数据又会存在问题,这中间的过程真是让人抓狂。
下面我说说当时遇到的问题,拆分的日子真是让人抓狂:
1.服务划分过细,服务关系复杂,服务划分过细,单个复杂度就会下降,但是整个系统的复杂度就会上升上来,因为微服务把系统内的复杂度转移为了系统间的复杂度。
2.服务数量太多,团队效率急剧下降,这里的误区是微字就意味着拆分的很细。
3.没有自动化支撑,无法快读交付,现在极客时间里有GitOps,可以看这个,写的很好。
4.没有服务治理,微服务达到一定数量,后台管理混乱。
5.以前一条sql搞定的事情,现在需要从多个服务里获取,在一定程度上提升了开发难度。
从网上梳理了一些拆分微服务的方法论,希望对你有一些参考的价值:
1.纵向拆分和横向拆分
从业务维度进行拆分,标准是按照业务的关联程度来决定,关联比较密切的业务适合拆分成一个微服务,而功能相对比较独立的业务适合拆分为一个微服务。从公共且独立功能维度拆分,标准是按照是否有公共的被多个其他服务调用,且依赖的资源独立不与其他业务耦合。2.拆分微服务还是综合考虑的因素
业务逻辑基础设施建设(自动化测试、自动化部署、服务监控,服务发现、配置中心等等),决定成败的往往是基础设施建设,和业务无关。将系统中的模块按照稳定性来划分,将已经成熟的和改动不大的归类为稳定的服务。3.按照业务颗粒度划分,分出了2种可能。
按照粗颗粒度划分:作品、用户、评论、消息按照细颗粒度:作品、用户、有声、评论、动态、客服IM、综合等等就很多很多了。3个火枪手原则:一个微服务由三个人开发,在进行微服务架构时,根据团队规模来划分数量也是合理的。
AFK拆分原则:
X轴,水平复制,多加载几个应用实例,以集群加负载均衡的模式进行拆分Y轴,微服务经常采用的按业务逻辑划分Z轴,按照数据进行划分n(n-1)/2
第二定律:时间再多一件事情也不可能做的完美,但总有时间做完一件事情。第三定律:线型系统和线型组织架构间具有潜在的异质同态特种第四定律:大的系统组织总是比小系统更倾向于分解其他原则:
人与人的沟通是非常复杂的,一个人的沟通精力是有限的,所以当问题太复杂需要很多人解决的时候,我们需要做拆分来达成对沟通效率的管理。组织内人与人的沟通方式决定了他们参与的系统设计,管理者可以通过不同的拆分方式带来不同的团队间沟通方式,从而影响系统设计如果子系统是内聚的,和外部的沟通边界是明确的,能降低沟通成本,对应的设计也会更加合理高效复杂的系统需要通过容错弹性的方式持续优化,不要指望一个大而全的设计或架构,好的架构和设计都是慢慢迭代出来的关键词:
现在被谈论最多的就是微服务和中台系统,我个人的理解是微服务或者是中台好不好,主要看实际的业务场景,架构的变迁往往需要耗费很大的学习成
1、孔药短筒苣苔(学名:BoeicaporosaClarke)是苦苣苔科短筒苣苔属植物,亚灌木,茎不分枝,高10
陈茂波:全力建设好离岸人民币的生态系统提供更多以人民币计价的投资渠道和工具
解答:1、可能是手机卡顿造成的。这时候建议你启动软件,然后清理手机后台应用,或者重启手机,然后打开优酷软件,看看弹幕按钮
来源:搜狐体育北京时间10月23日消息,中超争冠组比赛,鲁能1-2不敌国安,总比分3-4无缘本赛季中超前四。赛后,北京名嘴魏翊东与嘉宾王长庆、
图为发布仪式。西安市碑林环大学数字资产保险创新中心21日发布国内数字资产保险首单。中国人民财产保险西安分公司为中航创世机器人(西安)有限
1、有不过用的是开源系统的内核比如:红旗、雨林木风(正版、免费)但是并没有掌握核心技术相比于微软的window
1、吃酸杨梅的好处。酸杨梅含有大量的有机酸和维生素,具有抗肿瘤的功效,同时它还可以降低血脂。此外,酸杨梅中的果酸不仅具有消食解暑的功效,而
在美国看来,当前乌克兰最迫切需要补充的装备不是媒体上讨论最多的大口径火炮、主战坦克或战斗机,而是防空导弹。但五角大楼泄露的机密文件却
高校应邀参加高中校园活动---湖北日报讯(通讯员金亦心、冯亮)近日,武汉轻工大学电气学院应湖北省阳新一中邀请,参加阳新一中第九届体育科技
瓮安县气象台继续发布雷电黄色预警信号【Ⅲ 较重】
《每日经济新闻》记者在现场看到,当天会场内坐满了来自全国各地的投资者。自2000年上任后,周斌全通过建种植基地、升级制作工艺、加强品牌营
中新网长沙4月22日电(张雪盈)“通过这次活动,不仅加深了我对中华传统文化的了解,也让我结识了更多的大陆朋友。”在湖南长沙参加中华优秀传统
对决ModelY?比亚迪B级纯电猎装SUV宋L闪耀上海车展
1、电脑野广告太多的解决方法如下:1安装360杀毒软件并打开,点击弹窗拦截。2、2设置强力拦截就可以。本文到此分享完毕,
山西一季度GDP同比增长5 0%
1、《暗香》、《1314》、《王者归来》、《天净沙》《爱上一条鱼》等。2、其中我最喜欢的是电视剧《金粉世家》的主题曲《暗
近日,南沙区召开的2023年残疾人工作暨残工委工作会议上公布了一系列数据,展现南沙区在残疾人康复、救助、就业、权益保障、组织建设、公共服
你们好,最近小活发现有诸多的小伙伴们对于营养液配方合集,营养液配方这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往
一季度营收、净利止跌回升,恒瑞医药现拐点?,恒瑞医药,创新药,恒瑞