`
fangpeng123456789
  • 浏览: 46221 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

sofa框架浅谈

 
阅读更多
浅谈支付宝所用框架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
分享到:
评论
2 楼 fangpeng123456789 2015-05-12  
内部的,禁止外传的,不好意思
1 楼 Trying 2015-01-14  
抢先版的?有详细的sofa学习资料吗?

相关推荐

    SOFA框架简介

    ### SOFA框架简介 #### SOA架构概览 SOA(Service-Oriented Architecture),即面向服务的架构,是一个组件模型,它强调的是通过服务之间的良好接口和契约来连接应用程序的不同功能单元。SOA的核心思想在于它允许...

    sofa框架介绍

    ### SOFA框架介绍 #### SOA架构概述 SOA(Service-Oriented Architecture,面向服务的架构)是一种软件设计的方法论,它强调将业务过程分解为独立的服务,并通过定义良好的接口来实现服务间的通信。这种架构模式...

    SOFA微服务开发框架介绍.pdf

    SOFA 微服务开发框架介绍 SOFA 微服务开发框架是由 百度网页搜索部 郑然架构师团队开发的一款微服务开发框架,旨在解决微服务开发中的各种难题,提高开发效率和系统可维护性。该框架的设计理念是基于接口和实现分离...

    SOFARPC框架 v5.12.0.zip

    《SOFARPC框架v5.12.0深度解析》 SOFARPC,全称为Simplified Open For阿里的Remote Procedure Call,是阿里巴巴开源的一款高性能、轻量级的RPC框架,广泛应用于分布式系统中。SOFARPC v5.12.0作为其重要的版本迭代...

    SOFARPC框架 v5.10.0

    SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...

    SOFABoot开源框架.rar

    SOFABoot框架的简单搭建 先简单介绍一下SOFA Boot ,SOFA Boot 是基于 Spring Boot 的开发框架,是蚂蚁金服下的一款开源框架,用于快速、敏捷地开发 Spring 应用程序,特别适合构建微服务系统 提供了诸如 Readiness ...

    SOFA架构DEMO

    **SOFA框架详解** SOFA框架主要由以下几个组件构成: 1. **SOFABoot**:这是SOFA的基础启动框架,类似于Spring Boot,它简化了应用的部署和启动流程,提供了健康检查、隔离模块等功能。在sofademoserver中,SOFA...

    sofa-rpc,SOFARPC是一种高性能、高扩展性、生产级的Java RPC框架。.zip

    SOFARPC是一款由阿里巴巴开源的高性能、高可扩展性的Java Remote Procedure Call (RPC)框架,专为生产环境设计。这个框架旨在简化分布式系统的服务调用,提供了一套完整的解决方案,包括服务注册、服务发现、负载...

    SOFARPC框架 v5.11.1.zip

    SOFARPC框架是阿里巴巴开源的一款高性能、轻量级的RPC(Remote Procedure Call)服务框架,主要用于构建微服务架构中的服务治理与通信。版本v5.11.1是该框架的一个稳定版本,包含了多项优化和改进。在这个压缩包文件...

    rpc-sofa-boot-starter将SOFARPC功能集成到SOFABoot中

    SOFABoot 是一个完全兼容 SpringBoot 的开发框架,rpc-sofa-boot-starter 的作用就是将 SOFARPC 功能集成到 SOFABoot 中。rpc-sofa-boot-starter 提供了统一方便的编程界面、配置方式,同时提供了 SOFABoot 的健康...

    SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架.rar

    SOFARPC 是一个高可扩展性、高性能、生产级的 Java RPC 框架。在蚂蚁金服 SOFARPC 已经经历了十多年及五代版本的发展。SOFARPC 致力于简化应用之间的 RPC 调用,为应用提供方便透明、稳定高效的点对点远程服务调用...

    SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架.rar

    为了解决 Spring Boot 下的类依赖冲突的问题,SOFABoot 基于 SOFAArk 提供了 Spring Boot 上的类隔离的能力,在一个 SOFABoot 的系统中,只要引入 SOFAArk 相关的依赖,就可以将 SOFA 中间件相关的类和应用相关的类...

    sofa-rpc,sofarpc是一个高性能、高扩展性、生产级的java rpc框架。.zip

    SOFA-RPC 是阿里巴巴开源的一款高性能、高可扩展性、企业级的Java远程过程调用(RPC)框架。它的设计目标是简化分布式服务之间的通信,提高系统的解耦性,并提供丰富的功能来支持微服务架构。在本文中,我们将深入...

    SOFABoot开源框架 v4.2.0.zip

    SOFABoot 是一款由阿里巴巴开源的微服务框架,它的全称是 Scalable Open Financial Architecture Boot。这个框架旨在提供一种高效、稳定且可扩展的启动方案,以满足大型分布式系统的开发需求。v4.2.0 版本是该框架的...

    SOFABoot是一个增强SpringBoot并与之完全兼容的框架提供了ReadinessCheck类隔离等

    SOFABoot是一个由蚂蚁金服推出的增强型Spring Boot框架,其设计目标是为大型分布式系统的开发提供更加高效、稳定和可扩展的解决方案。这个框架在保持与Spring Boot完全兼容的同时,引入了一系列特色功能,旨在提升...

    SOFABoot开源框架 v3.22.0.zip

    SOFABoot 是一款由阿里巴巴开源的微服务框架,它基于 Spring Boot 进行扩展,旨在解决大规模分布式系统的启动、部署、隔离、版本管理等问题。在 SOFABoot v3.22.0 中,我们看到了一系列优化和改进,使得开发者能够更...

    sofa-bolt,sofabolt是一个基于netty的轻量级、易用性和高性能远程处理框架。.zip

    SOFA Bolt 是阿里巴巴开源的一款基于 Netty 实现的轻量级、易用且高性能的远程处理框架。这款框架的设计目标是为分布式系统提供简单、高效的通信能力,适用于微服务架构中的服务间通信。在深入理解 SOFA Bolt 之前,...

    sofa

    在这里,可能是意味着SOFA框架与Web开发或前端技术有关联,或者它可能包含了用于构建Web界面的工具或组件。 【文件名称列表】:提及的“sofa-master”通常是指GitHub仓库中的主分支,这通常包含项目的核心代码和...

    详解蚂蚁开源框架SOFA.html

    详解蚂蚁开源框架SOFA.html

Global site tag (gtag.js) - Google Analytics