SOA浅谈

什么是SOA

             SOA,面向服务的体系结构,是一个组件模型,它将应用程序的不同功能单元(称为服务)通过这些服务之间定义良好的接口和契约联系起来。即SOA架构下,无论有多少个具体服务,对服务本身而言,只需要定义好接口,方便与其他服务交互,具体的接口实现就是服务自己的事情了。SOA将应用程序的不同功能单元(称为服务)进行拆分,并通过这些服务之间定义良好的接口和契约联系起来。

SOA五大特征

  • 可重用
  • 松耦合:根据业务特点进行设计;
  • 明确定义的接口
  • 无状态的服务设计:服务应该是独立的、自包含的请求,在实现时它不需要获取从一个请求到另一个请求的信息或状态。服务不应该依赖于其他服务的上下文和状态。
  • 基于开放标准:当前SOA的实现形式是Web服务,基于的是公开的W3C及其他公认标准.采用第一代Web服务定义的SOAP、WSDL和UDDI以及第二代Web服务定义的WS-*来实现SOA

SOA与架构师

           一句话:架构师的作用就是引起对 SOA 模型大的改变

SOA与测试工程师

对soa单独测试时,属于服务测试,是介于单元测试,集成测试直接的一种测试;

soa服务之间一般调用复杂,优势改一小部分逻辑,可能”牵一发而动全身“,需要全面考虑

SOA与微服务

            SOA和微服务到底是什么关系?一句话总结 二者区别的话,那就是微服务不再强调传统SOA架构里面比较重的ESB企业服务总线,同时SOA的思想进入到单个业务系统内部实现真正的组件化。

           微服务架构大体是从互联网的思路,由于大规模用户,对分布式系统的要求很高,组件对外发布的服务强调了采用HTTP Rest API的方式来进行。

            微服务与SOA相比,更强调分布式系统的特性,比如横向伸缩性,服务发现,负载均衡,故障转移,高可用。互联网开发对服务治理提出了更多的要求,比如多版本,比如灰度升级,比如服务降级,比如分布式跟踪,这些都是在SOA实践中重视不够的

SOA的好处

1. 松耦合:由于服务自治,有一定封装边界,服务调用交互是通过发布接口。这意味着应用程序不感兴趣的服务如何被实现。
2.位置透明:服务的消费者不必关系服务位于什么地方。
3.可在异构平台间复用。可以将遗留系统包装成服务。
4.便于测试,能并行开发,较高可靠性和良好可伸缩性。

参考

https://www.cnblogs.com/ynuo/p/5913955.html

https://www.cnblogs.com/fengzheng/p/5847441.html

https://www.jdon.com/soa.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多则惑少则明

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值