微服务拆的太细了会有什么问题

微服务可能出现的问题之一,就是服务拆的太多,微服务拆多了就需要“治”,技术问题可以通过服务注册与发现“治”掉,但更多的业务问题很难被“治”掉。

0d337033452fc67b7dbbbcccdda2e39a.png

如果一个团队缺少一个有影响力的业务架构师,这个问题将会变得更加严重,过多的承载着一部分业务含义的微服务散落下来,任意两个或几个微服务的组合似乎都可以解决一些业务上的问题,但这种组合是不可持续的。

同时如果没有业务架构师,这些看似合理的业务需求来自于pm或是bp,这件事情将会变得更加糟糕,终有一天整个技术团队会被包裹在一个找不到线头的网里,有人大喊一声“重构全链路”。

ddd不是目的,不要把简单的业务问题人为的技术复杂化,该在一起的服务就不要找理由拆了,因为他们在业务上就是一体的,先理解业务,再做抽象,单体难受了,想明白痛在哪里,再决定拆不拆。

有什么样的组织就有什么样的架构,有时候发现系统依赖关系很奇怪,一看组织结构就是这样的,康威定律依然适用,甚至是第一原则,妄图通过架构解决康威定律,但成本总会通过其他方式找回来。

缺少有影响力的业务架构师,业务流程与概念完全单方面来自于pm和bp,研发只是在pm和bp之后做业务建模。缺少合理的组织划分,导致体现康威定律的负面影响。

以上两者是微服务拆分过细之后的非技术角度必须要考虑的问题。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
微服务架构在C#中可以解决以下一些问题: 1. 模块化和可扩展性:微服务架构通过将应用程序拆分为一组小型、自治的服务,每个服务都专注于特定的业务功能。这种模块化的设计使得应用程序更容易维护和扩展,可以独立开发、测试、部署和扩展每个服务。 2. 弹性和可靠性:由于每个微服务都是独立运行的,因此故障在一个服务中发生时不影响整个应用程序。微服务架构可以通过使用故障隔离、自动扩展和负载均衡等技术来提高应用程序的弹性和可靠性。 3. 技术异构性:微服务架构允许使用不同的技术栈来开发不同的服务。这使得团队可以选择最适合其需求的技术,并且可以根据需要更改或升级技术,而不对整个应用程序产生影响。 4. 团队协作和快速交付:微服务架构鼓励团队拥有和负责特定的微服务,这样可以促进团队之间的协作和快速交付。每个团队可以独立开发、测试和部署自己的服务,而不受到其他团队的影响。 5. 可伸缩性:微服务架构可以根据需求进行水平扩展,只需增加特定服务的实例数量即可。这种粒度更细的扩展方式使得应用程序更容易应对高负载和流量峰值。 总而言之,微服务架构在C#中可以提供更好的模块化、可扩展性、弹性、可靠性和团队协作等优势,帮助解决复杂应用程序开发和维护中的一些问题

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值