java soa 实例_【Java】哪位大牛能举个实例讲下SOA与传统架构的区别?

知道SOA是为了解耦,但网上讲的都太偏理论和抽象。哪位大神能基于自己熟悉的实际软件系统,讲讲区别:传统的是分哪些模块(按技术组件分?),用SOA又是怎么分模块?

回答

假设我要做几道菜:

麻婆豆腐

素炒小青菜

西红柿炒蛋

以前我的做法:

我要做麻婆豆腐,先洗豆腐,然后找到豆瓣酱,把豆瓣酱炸出香味,然后我想到还需要辣椒,我就去切辣椒,切完辣椒放进去后,我发现还需要姜蒜,我去切了姜蒜,然后和烧好的豆瓣酱一起煎出香味,倒入豆腐翻两圈开始焖。

焖好麻婆豆腐之后,我要素炒小青菜。

我立即去洗小青菜,然后烧好油后发现还少了姜蒜,我就去切姜蒜,一阵手忙脚乱,小青菜炒好了。

如此重复进行炒西红柿炒蛋。

有了SOA之后:

我先剁好一小碗姜末;

我先剁好一小碗蒜末;

先切好青菜

先找好豆瓣酱

先洗好豆腐

先切好西红柿

然后,我想要什么服务,直接取。(嗯,这里可能来说是一个人的SOA)

后来,我为了想提高效率,叫我老婆来一起帮忙准备这些材料,后面,突然有10个朋友来我家,要做的菜式更多了,然后我叫几个朋友一起帮准备各种材料。

这里面的思想还可以发散。后面的不想说了。

我想了一下,再补充一下

对于第一种情况,假设我每种菜要做10份,那么再叫来9个人和我一起重复上面的事情(多个服务器部署同一套系统)

而后面有了SOA,我每一个人就只关注自己的具体逻辑,比如切青菜的专门切青菜,洗青菜的专门洗青菜等等,对于厨师(用户),想要做一份西红柿炒蛋,那他就去拿西红柿和打好的蛋就好了,如果想做个西红柿焖大肠,那么他就取取切好的西红柿和切好的大肠就好了,分工明确,各司其职。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值