SOA面向服务--学习心得

hahaha,目前在的 蚂蚁金服项目组 用的是面向SOA架构,用了很久的项目了,今天详细地总结一下~~

现在行业内蚂蚁金服的一些项目用的就是SOA架构,一般是用sofa框架的项目

一.什么是SOA

(1)百度百科  定义如图:

(2)个人的理解:是分布式系统的一种架构,这种SOA架构的项目主要是面向服务的,是服务治理很好的一种项目架构

----------这里解释下服务治理

服务治理:

为什么需要服务治理呢?

分布式系统中每个功能模块在依赖其他节点系统模块比如调用数据,调用别的节点系统中的接口等操作时,

如果其他节点服务处于服务升级时,没有做好节点服务间同步的话在调用时会出现问题。

如果突然某个节点服务宕机了,未做服务检测和转移的话在调用时会出现问题

......

综上,怎么保证各个服务模块的健康,高效合作呢?这个时候就出现了 统一的解决方法:服务治理

     

二.架构图和业务

 

优点:

1、更高的可用性,模块拆分,降低模块之间的耦合度 。

2、更容易维护,建立在以 SOA基础上的信息系统,当需求发生变化的时候,不需要修改提供业务服务的接口,只需要调整业务服务流程或者修改操作即可,整个应用系统也更容易被维护。

3、更好的伸缩性,靠业务服务设计、开发和部署等所采用的架构模型实现伸缩性。使得服务提供者可以互相彼此独立地进行调整,以满足新的服务需求。

4.服务重用

5.消息监控

 

业务:

将项目中数据操作层,持久层,业务层,对外接口层,前端等进行模块服务化,前后端分离,分库分表等操作,让每个模块都有自己独立的服务节点,这样实现了每个模块间数据访问的压力~~

 

三.服务模块接口间的访问

通常使用rpc的方式来调用接口服务

前提是先发布服务,然后再使用.下面是服务发布的2种方式

----------本地发布和引用
xml配置:
服务发布:

1.创建接口和实现类 2.在spring.xml文件中声明<bean id=“service”class="...serviceimpl"></bean> ,将bean注册为sofa服务<soda:service ref="jvmservice" interface="...service">
服务引用:

1.在spring.xml文件中引用上述发布出来的sofa服务 <sofa:reference id="service" interface="...service"/>

2.代码中直接使用spring注解@Autowired注入
注解:
服务发布:1.创建接口和实现类,接口一样,实现类上加注解@sofaService  
服务引用:1.使用的时候,直接在service类引用上使用@SofaReference注解

--------RPC服务发布和引用
服务发布:

1.创建接口和实现类RpcService和RpcServiceImpl

 2.使用xml方式,在spring xml配置文件中将实现类注册成为rpc服务 :<bean id=“rpcService”class="...rpcserviceimpl"></bean><sofa:service ref="rpcService" interface ="....rpcService"><sofa:binding.tr/></sofa:service>


服务引用:

1.在spring xml文件中把rpc服务引入:<sofa:reference id="rpcService" interface="...rpcService"><sofa:binding.tr/></sofa:reference>

2.代码中直接使用spring注解@Autowired自动注入rpcservice就可以直接使用了
 

四.架构对比

传统单体式:如mvc, 一个软件包含数百个功能,如ERP,CRM等,开发、维护、部署、扩展...都是nightmare,承受不了大数据量访问,太low

SOA:是解决单体应用架构问题的一个解决方案,是面向服务的体系

微服务:微服务的应用青睐REST简单、轻量的协议.但是服务治理体验很不好

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

海是倒过来的天~

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

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

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

打赏作者

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

抵扣说明:

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

余额充值