spring boot 原理金融基础技术与业务

再探蚂蚁中间件:SOFA

2018-09-18  本文已影响4064人  旺旺大仙贝

所有中间件都是为了解决特定领域的某个问题

SOFA解决:分布式下的服务和组件管理以及调用繁琐的问题

Sofa脑图

image.png

1.Sofa是什么

SOFA 源自于 Service Oriented Fabric Architecture,即面向服务的架构。
随着 SOFA 的开源,目前 SOFA 的新解释:Scalable Open Financial Architecture

SOFA 是蚂蚁金服自主研发的金融级分布式中间件,包含了构建金融级云原生架构所需的各个组件,包括微服务研发框架,RPC 框架,服务注册中心,分布式定时任务,限流/熔断框架,动态配置推送,分布式链路追踪,Metrics监控度量,分布式高可用消息队列,分布式事务框架,分布式数据库代理层等组件,是一套分布式架构的完整的解决方案,也是在金融场景里锤炼出来的最佳实践。

2.为什么要用Sofa

Sofa和Spring cloud

更详细的比较可以参考:Spring Cloud 与 SOFA 对比

3.Sofa优点

模块化,模块边界清晰,易于维护。
服务化,服务的注册和依赖都很方便。
易于扩展,很好的定义扩展点和扩展。

4.Sofa功能

Sofa

Sofa RPC

如果存在多个可用的服务提供者,服务调用者在本地根据服务端路由和负载均衡算法选择其中一台进行调用。可在内网替代 F5 等硬件负载均衡器,解决了系统单点问题的同时,大大降低了企业成本。

5.Sofa分层

image.png
image.png

SOFA应用中各个模块之间的Spring Context是完全隔离的,需要拆分的时候直接将模块拆分即可,调用的方式由本地服务改为远程服务就可以了。本地服务可以理解为注册在本地注册中心,服务之间通过JVM调用,拆分后远程服务注册在远程注册中心,服务之间通过RPC调用。

6.健康检查

  1. 在健康检查之前首先调用各个组件的deployCompletion方法,以及应用的ApplicationStartupCallback方法
  2. 健康检查内容
    • 检查Spring上下文是否启动成功
    • 检查用户自定义的检查项
    • 检查所有具有流量出口的组件(SOFA Reference,消息发送端)是否健康;如果失败,每过500ms继续检查20次


      image.png

7.Sofa RPC

image.png

8.Sofa源码学习

sofa源码学习移至:https://lark.alipay.com/autoins/personal/kqzgku

其他

服务发布:其实就是为不同的隔离spring上下文的模块和组件提供相互访问的权限

上一篇 下一篇

猜你喜欢

热点阅读