浅谈支付宝所用框架sofa
sofa是支付宝的核心框架,目前开发环境框架已经升级到sofa3,sofa的核心是spring,测试这边的接口测试用着是ats核心是testng,ats为sofa服务者,下面大致讲下sofa框架的结构和特色!
sofa分:biz层即业务层,core层俗称核心层,web层即展现层,common层也称数据层,test测试层。业务层的biz-service发布服务,打成jar包的方式供其他facade调用,引用服务在调数据层,如附件图
每个模块有自己独立的spring上下文。
各模块spring上下文隔离。
模块之间的服务调用,通过向sofa容器注册/引用服务完成。
可以在sofa中发布一个内部服务
可以在跨bundle引用其他bundle的内部服务
可以发布一个外部服务(ws、tr)
可以引用外部系统发布的服务(ws、tr)
理解软负载和统一服务模型
将springbean发不成jvm类型的sofa服务
<!-- spring bean声明 -->
<bean id="userService"
class="com.alipay.yanyu.core.service.user.impl.UserServiceImpl"
init-method="init"/>
<!-- 发布jvm服务:以接口作为服务的唯一标示符 -->
<sofa:service ref="userService"
interface="com.alipay.yanyu.core.service.user.UserService" />
其他地方引用服务
<!-- 服务引入声明:以接口来查询服务 -->
<sofa:reference id="userService"
interface="com.alipay.yanyu.core.service.user.UserService" />
<!-- 带uniqueId的服务发布 -->
<sofa:service ref="userService"
interface="com.alipay.yanyu.core.service.user.UserService" uniqueId="uniqueId1" />
<!-- 带uniqueId的服务引用 -->
<sofa:reference id="userService"
interface="com.alipay.yanyu.core.service.user.UserService" uniqueId="uniqueId1" />
rpc服务发布
<bean id="userFacade"
class="com.alipay.yanyu.biz.service.impl.UserFacadeImpl" />
<!-- 发布rpc服务 -->
<sofa:service ref="userFacade"
interface="com.alipay.yanyu.common.service.facade.UserFacade" >
<!-- 增加ws绑定 -->
<sofa:binding.ws />
</sofa:service>
rpc服务引用
<sofa:reference id="userFacade"
interface="com.alipay.yanyu.common.service.facade.UserFacade">
<sofa:binding.ws />
</sofa:reference>
服务发布:
默认绑定:<sofa:binding/>
跨JVM绑定:<sofa:binding.ws/>、<sofa:binding.tr/>
服务引用:
职能声明一种绑定
不同bundle之间的引用和依赖通过pom.xml文件加入依赖
jar包引用
<dependency>
<groupId>com.alipay.sofa.runtime</groupId>
<artifactId>sofa-runtime-esb</artifactId>
</dependency>
log4j中配置日志相关内容
sofa的配置文件:
dbconf数据库配置文件(有几套环境可以选择)
sofaTestConfig文件配置接口以及系统间的调用(本地)
antx文件配置系统间的调用(服务器上)
pom.xml文件各种依赖的添加
- 大小: 213.5 KB
- 大小: 138.2 KB
- 大小: 21.9 KB
分享到:
相关推荐
java开发中使用的SOFA框架的基本概念。
支付宝sofa框架的介绍
SOFA微服务开发框架介绍.pdf
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...
SOFABoot框架的简单搭建 先简单介绍一下SOFA Boot ,SOFA Boot 是基于 Spring Boot 的开发框架,是蚂蚁金服下的一款开源框架,用于快速、敏捷地开发 Spring 应用程序,特别适合构建微服务系统 提供了诸如 Readiness ...
SOFARPC框架 v5.12.0.zip
SOFARPC框架 v5.11.1.zip
基于SOFABoot框架的分布式管理系统
sofa-rpc,SOFARPC是一种高性能、高扩展性、生产级的Java RPC框架。.zip
SOFABoot开源框架 v4.2.0.zip
SOFABoot开源框架 v4.0.1.zip
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...
详解蚂蚁开源框架SOFA.html
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...
sofa-rpc,sofarpc是一个高性能、高扩展性、生产级的java rpc框架。.zip
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...
SOFABoot 是一个完全兼容 SpringBoot 的开发框架,rpc-sofa-boot-starter 的作用就是将 SOFARPC 功能集成到 SOFABoot 中。rpc-sofa-boot-starter 提供了统一方便的编程界面、配置方式,同时提供了 SOFABoot 的健康...
基础天文标准库(Standards Of Fundamental Astronomy,SOFA)是IAU赞助的项目,旨在为天文计算提供权威有效的算法程序和常数数值。1994年的IAU大会上,IAU天文标准工作组 提出了创立SOFA的提案。1997年,SOFA评审...
SOFABoot开源框架 v3.22.0.zip
SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...