SOFABolt(网络通信框架)
v1.5.7 官方版- 软件大小:0.66 MB
- 更新日期:2021-02-19 09:11
- 软件语言:简体中文
- 软件类别:编程工具
- 软件授权:免费版
- 软件官网:待审核
- 适用平台:WinXP, Win7, Win8, Win10, WinAll
- 软件厂商:
软件介绍 人气软件 下载地址
SOFABolt是一款网络通信框架,当你需要为应用程序配置远程通信服务的时候就可以使用这款框架,通过这款软件就可以配置多款应用程序远程服务调用具体方案,让应用程序之前的数据可以同步,从而在监控平台获取多个终端的数据,对于需要远程监控数据、监控流量变化、监控平台负载等场景很有帮助,软件基于Netty开发,您可以在SOFABoot中使用XML、在SOFABoot中使用注释、在SOFABoot中使用动态API,也可以结合SOFARPC使用,为开发者提供更便捷的应用通信服务配置方案,如果您需要这款软件就可以下载体验!
软件功能
SOFABolt的基础功能包括:
1、基础通信功能 ( remoting-core )
基于 Netty 高效的网络 IO 与线程模型运用
连接管理 (无锁建连,定时断链,自动重连)
基础通信模型 ( oneway,sync,future,callback )
超时控制
批量解包与批量提交处理器
心跳与 IDLE 事件处理
2、协议框架 ( pro tocol-skeleton )
命令与命令处理器
编解码处理器
心跳触发器
3、私有协议定制实现 - RPC 通信协议 ( prot ocol-implementation )
RPC 通信协议的设计
灵活的反序列化时机控制
请求处理超时 FailFast 机制
用户请求处理器 ( UserProcessor )
双工通信
软件特色
SOFABolt 是蚂蚁金融服务集团开发的一套基于 Netty 实现的网络通信框架。
* 为了让 Java 程序员能将更多的精力放在基于网络通信的业务逻辑实现上,而不是过多的纠结于网络底层 NIO 的实现以及处理难以调试的网络问题,Netty 应运而生。
* 为了让中间件开发者能将更多的精力放在产品功能特性实现上,而不是重复地一遍遍制造通信框架的轮子,SOFABolt 应运而生。
Bolt 名字取自迪士尼动画-闪电狗,是一个基于 Netty 最佳实践的轻量、易用、高性能、易扩展的通信框架。
这些年我们在微服务与消息中间件在网络通信上解决过很多问题,积累了很多经验,并持续的进行着优化和完善,我们希望能把总结出的解决方案沉淀到 SOFABolt 这个基础组件里,让更多的使用网络通信的场景能够统一受益。
目前该产品已经运用在了蚂蚁中间件的微服务(SOFARPC)、消息中心、分布式事务、分布式开关、以及配置中心等众多产品上。
官方教程
开始使用SOFABoot
建立专案
1、准备环境:SOFABoot需要JDK7或JDK8,并且需要使用Apache Maven 2.2.5或更高版本进行编译。
2、生成SOFABoot项目:SOFABoot基于Spring Boot。因此,您可以使用Spring Boot的项目生成工具来生成标准的Spring Boot项目。
3、添加SOFABoot依赖关系:生成的标准Spring Boot项目直接使用Spring父依赖关系,应将其更改为SOFABoot提供的父依赖关系。父级依赖项提供并管理SOFABoot提供的各种启动程序。
将以上内容替换为以下内容:
1、Configure application.properties: application.properties是SOFABoot项目中的配置文件。在这里,您需要配置应用程序名称。
spring.application.name=AppName
2、介绍RPC启动器:
声明SOFABoot的xsd文件:
在要使用的XML配置文件中,将头文件xsd文件的声明配置为以下内容。这样可以使用SOFABoot定义的XML元素进行开发。
定义服务接口和实施
在服务器上发布服务
在xml文件中配置以下内容。刷新Spring上下文后,SOFABoot在服务器上注册服务实现,通过螺栓协议与客户端通信,并将诸如地址之类的元数据发布到注册表中心(默认情况下,本地文件用作注册表中心)。
客户咨询服务
在xml文件中配置以下内容。刷新Spring上下文后,SOFABoot会生成RPC代理Bean personReferenceBolt。这使您可以直接在代码中使用Bean进行远程调用。
运行项目
SpringBoot的启动类编码如下。上面的xml文件是使用ImportResource在此处加载的。
输出结果如下:
sync
通过此步骤,您已经完成了服务发布和参考。
在非Spring环境中使用API
SOFARPC
服务发布
服务发布的过程涉及三个类RegistryConfig,ServerConfig,ProviderConfig。
1、注册表配置
1、
RegistryConfig代表注册中心。如上所述,服务注册中心的地址和端口是127.0.0.1:2181,协议是Zookeeper。
i.服务器配置 java ServerConfig serverConfig = new ServerConfig() .setPort(8803) .setProtocol("bolt");ServerConfig表示运行服务的容器。上面声明了使用8803端口和bolt协议的服务器。
1、ProviderConfig
ProviderConfig代表服务发布。上面声明了服务的接口,实现了运行该服务的服务器,并最终通过该export方法发布了该服务。
服务参考
服务参考涉及两个类,即RegistryConfig和ConsumerConfig。
ConsumerConfig代表服务参考。上面声明了所引用服务接口的接口和服务注册中心,最后通过该refer方法引用该服务,以获取该服务的远程调用的代理。
在SOFABoot中使用XML
XML模式
该办法发布和XML模式的参考服务如下。sofa:service代表发布服务,并sofa:reference代表引用服务。sofa:binding指示用于服务发布或参考的协议。
服务也可以通过多种协议发布,如下所示:
服务参考
服务还可以通过其他协议引用:
在SOFABoot中使用注释
使用注释进行服务发布/参考
除了常规的xml模式外,还支持在SOFABoot环境中发布和引用带有注释的服务。类似XML,我们提供 @SofaService和@SofaReference以及@SofaServiceBinding和@SofaReferenceBinding注释为多协议。
服务发布
要发布RPC服务,只需要@SofaService在Bean上添加注释即可指定接口和协议类型。
服务参考
对于需要引用远程服务的bean,只需在属性或方法上添加Reference批注。这支持bolt,dubbo,rest协议。
在SOFABoot中使用动态API
使用API
SOFABoot提供了一组用于RPC服务发布和参考的编程API。直接在代码中发布和引用RPC服务很方便。与Spring的ApplicationContextAware相似,要使用编程API,首先需要实现ClientFactoryAware接口以获取编程组件API:
以DirectService为例,了解如何使用clientFactory通过编程API发布RPC服务:
在上面的代码中:
1、首先,ServiceClient通过获得对象clientFactory。
2、然后,构造ServiceParam包含发布服务所需的参数的对象,并使用该setInstance方法将要发布的对象设置为RPC服务,setInterfaceType以设置服务的接口。
3、最后,调用的服务方法ServiceClient来发布RPC服务。
通过编程API引用RPC服务的代码类似:
同样,引用一个RPC服务,代码只需要得到ReferenceClient来自ClientFactory然后构造一个ReferenceParam类似发布服务,下一组了服务接口,最后调用ReferenceClient的参考方法。
人气软件
-
redis desktop manager2020.1中文 32.52 MB
/简体中文 -
s7 200 smart编程软件 187 MB
/简体中文 -
GX Works 2(三菱PLC编程软件) 487 MB
/简体中文 -
CIMCO Edit V8中文 248 MB
/简体中文 -
JetBrains DataGrip 353 MB
/英文 -
Dev C++下载 (TDM-GCC) 83.52 MB
/简体中文 -
TouchWin编辑工具(信捷触摸屏编程软件) 55.69 MB
/简体中文 -
信捷PLC编程工具软件 14.4 MB
/简体中文 -
TLauncher(Minecraft游戏启动器) 16.95 MB
/英文 -
Ardublock中文版(Arduino图形化编程软件) 2.65 MB
/简体中文