`
nepxion
  • 浏览: 38135 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

(三) Nepxion-Thunder分布式RPC集成框架 - 结构管理

阅读更多

Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/

 

1. 类结构

  • 1.1 cluster:负载均衡和远程注册中心集群服务地址同步

    1.1.1 consistency - 远程服务上下线会产生事件,该模块线程安全维护本地服务列表和注册中心同步。该服务列表将用在负载均衡
    1.1.2 loadbalance - 负载均衡。consistenthash为一致性Hash算法,random为随机轮循算法,roundrobin为权重轮循算法
  • 1.2 common:通用类,实体类,工具类

    1.2.1 callback - 异步回调接口实现
    1.2.2 config - 持久化到注册中心的类,包括ApplicationConfig,ServiceConfig,ReferenceConfig
    1.2.3 constants - 静态常量定义
    1.2.4 container - 缓存和句柄容器定义,包括CacheContainer(线程安全的本地缓存容器,也同时利用它跟注册中心做同步),ExecutorContainer(句柄和运行器容器,对于这两者,在Thunder的实现,对外都是通过接口暴露,而实现类是通过配置文件定义的方式进行反射装载,反射初始化后的对象都保存在ExecutorContainer里)
    1.2.5 delegate - 委托类实现,主要是针对Properties,CacheContainer,ExecutorContainer的代理,在Spring扫描线程中将委托类注入到各个FactorBean
    1.2.6 entity - 本地实体类
    1.2.7 invocation - 用于反射调用
    1.2.8 object - 对象池的实现
    1.2.9 promise - 链式调用的实现
    1.2.10 property - 读取本地和远程配置文件的实现
    1.2.11 spi - Java SPI的实现
    1.2.12 thread - 线程池的实现
    1.2.13 time - 时间类的实现
    1.2.14 util - 工具类的实现
  • 1.3 event:异步事件发布

    1.3.1 eventbus - 基于Google Guava的进程内发布/订阅机制
    1.3.2 mobile - 基于EventBus的异常信息的短信通知,未实现
    1.3.3 protocol -
    基于EventBus的异常信息的发布/拦截,是其它事件通知模块的基础
    1.3.4 registry -
    基于EventBus的上下线通知
    1.3.5 smtp - 基于EventBus的Smtp协议的邮件通知
  • 1.4 framework:Spring扫描线程,初始化,包括对协议初始化,注册中心初始化等

    1.4.1 bean - Spring FactoryBean
    1.4.2 context - Spring上下文
    1.4.3 exception - Spring相关异常
    1.4.4 parser - Spring BeanDefinitionParser,用以解析FactoryBean
    1.4.5 property - Spring属性解析
  • 1.5 monitor:监控中心,包括日志监控(生成日志的方式),缓存监控(把监控数据存到Redis缓存),第三方WebService定义的监控(通过Http Post方式发送监控数据到Web服务器上)

     1.5.1 MonitorExecutor.java - 把监控数据写往数据源的接口,旗下有1个抽象类和三个实现类
     1.5.2
    MonitorRetriever.java - 从数据源读取监控数据的接口,旗下有1个抽象类和两个实现类
  • 1.6 protocol:协议,中间件的实现,包括Netty,Hessian,MQ,Redis等实现

    1.6.1 apache - Apache同步和异步调用框架
    1.6.2 hessian - Hessian同步和异步Http调用框架
    1.6.3 kafka - Kafka
    消息队列调用通用框架
    1.6.4 mq - ActiveMQ和Tibco消息队列调用通用框架
    1.6.5 netty - Netty同步和异步Nio调用框架
    1.6.6 redis - 作为Netty和Hessian发布/订阅调用框架
  • 1.7 registry:注册中心的实现

    1.7.1 RegistryExecutor.java - 注册中心的核心接口运行器
    1.7.2 RegistryInitializer.java - 注册中心的初始化器
    1.7.3 RegistryLauncher.javva - 外部系统访问注册中心的运行器
  • 1.8 security:安全控制的实现,包括限流,密钥控制,版本控制
  • 1.9 serialization:快速序列化对象的实现

    1.9.1 binary - Java实体类和字节数组的序列化/反序列化
    1.9.2 compression - 对binary模块运行结果的压缩/解压
    1.9.3 json - Java实体类和Json字符串的转换

 2. 包引用
1. Maven管理方式

  • Thunder默认基于Maven来管理
  • Thunder构建于JDK 1.7版本
  • Thunder引用了众多的第三方组件/开源框架编译时候,需要如下的pom.xml文件做支持
    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    	<modelVersion>4.0.0</modelVersion>
    	<groupId>nepxion</groupId>
    	<artifactId>root</artifactId>
    	<version>1.0.0</version>
    	<packaging>pom</packaging>
    	<name>Nepxion Root</name>
    	<url>http://code.taobao.org/u/Nepxion/</url>
    	<properties>
    		<org.springframework.version>4.2.5.RELEASE</org.springframework.version>
    		<org.apache.logging.log4j.version>2.5</org.apache.logging.log4j.version>
    		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    	</properties>
    	<dependencies>
    		<dependency>
    			<groupId>org.apache.commons</groupId>
    			<artifactId>commons-lang3</artifactId>
    			<version>3.4</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.commons</groupId>
    			<artifactId>commons-collections4</artifactId>
    			<version>4.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>commons-io</groupId>
    			<artifactId>commons-io</artifactId>
    			<version>2.4</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.commons</groupId>
    			<artifactId>commons-pool2</artifactId>
    			<version>2.4.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>commons-configuration</groupId>
    			<artifactId>commons-configuration</artifactId>
    			<version>1.10</version>
    		</dependency>
    
    		<dependency>
    			<groupId>commons-beanutils</groupId>
    			<artifactId>commons-beanutils</artifactId>
    			<version>1.9.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>commons-jxpath</groupId>
    			<artifactId>commons-jxpath</artifactId>
    			<version>1.3</version>
    		</dependency>
    
    		<dependency>
    			<groupId>commons-validator</groupId>
    			<artifactId>commons-validator</artifactId>
    			<version>1.5.0</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>com.sun.mail</groupId>
    			<artifactId>javax.mail</artifactId>
    			<version>1.5.5</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-core</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-beans</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-aop</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-context-support</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-web</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-webmvc</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-jms</artifactId>
    			<version>${org.springframework.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.springframework</groupId>
    			<artifactId>spring-test</artifactId>
    			<version>${org.springframework.version}</version>
    			<scope>test</scope>
    		</dependency>
    		
    		<dependency>
    			<groupId>io.netty</groupId>
    			<artifactId>netty-all</artifactId>
    			<version>4.0.36.Final</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.caucho</groupId>
    			<artifactId>hessian</artifactId>
    			<version>4.0.38</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.activemq</groupId>
    			<artifactId>activemq-core</artifactId>
    			<version>5.7.0</version>
    			<exclusions>
    				<exclusion>
    					<groupId>org.slf4j</groupId>
    					<artifactId>slf4j-api</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.activemq</groupId>
    			<artifactId>activemq-pool</artifactId>
    			<version>5.13.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.kafka</groupId>
    			<artifactId>kafka-clients</artifactId>
    			<version>0.9.0.1</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>redis.clients</groupId>
    			<artifactId>jedis</artifactId>
    			<version>2.8.1</version>
    		</dependency>
    
    		<!-- Curator Framework 2.9.1 or up won't be compatible -->
    		<dependency>
    			<groupId>org.apache.curator</groupId>
    			<artifactId>curator-framework</artifactId>
    			<version>2.9.0</version>
    			<exclusions>
    				<exclusion>
    					<groupId>jline</groupId>
    					<artifactId>jline</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>log4j</groupId>
    					<artifactId>log4j</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>io.netty</groupId>
    					<artifactId>netty</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>com.google.guava</groupId>
    					<artifactId>guava</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.curator</groupId>
    			<artifactId>curator-recipes</artifactId>
    			<version>2.9.0</version>
    			<exclusions>
    				<exclusion>
    					<groupId>jline</groupId>
    					<artifactId>jline</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>log4j</groupId>
    					<artifactId>log4j</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>io.netty</groupId>
    					<artifactId>netty</artifactId>
    				</exclusion>
    				<exclusion>
    					<groupId>com.google.guava</groupId>
    					<artifactId>guava</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    
    		<dependency>
    			<groupId>de.ruedigermoeller</groupId>
    			<artifactId>fst</artifactId>
    			<version>2.45</version>
    			<exclusions>
    				<exclusion>
    					<groupId>org.javassist</groupId>
    					<artifactId>javassist</artifactId>
    				</exclusion>
    			</exclusions>
    		</dependency>
    		
    		<dependency>
    			<groupId>com.esotericsoftware</groupId>
    			<artifactId>kryo</artifactId>
    			<version>3.0.3</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>io.protostuff</groupId>
    			<artifactId>protostuff-core</artifactId>
    			<version>1.4.0</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>io.protostuff</groupId>
    			<artifactId>protostuff-runtime</artifactId>
    			<version>1.4.0</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>com.facebook.jcommon</groupId>
    			<artifactId>util</artifactId>
    			<version>0.1.20</version>
    		</dependency>
    
    		<dependency>
    			<groupId>aopalliance</groupId>
    			<artifactId>aopalliance</artifactId>
    			<version>1.0</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.google.guava</groupId>
    			<artifactId>guava</artifactId>
    			<version>19.0</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>org.jdeferred</groupId>
    			<artifactId>jdeferred-core</artifactId>
    			<version>1.2.4</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.fasterxml.jackson.core</groupId>
    			<artifactId>jackson-core</artifactId>
    			<version>2.7.3</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.fasterxml.jackson.core</groupId>
    			<artifactId>jackson-databind</artifactId>
    			<version>2.7.3</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.fasterxml.jackson.core</groupId>
    			<artifactId>jackson-annotations</artifactId>
    			<version>2.7.3</version>
    		</dependency>
    		
    		<dependency>
    			<groupId>com.alibaba</groupId>
    			<artifactId>fastjson</artifactId>
    			<version>1.2.8</version>
    		</dependency>
    
    		<dependency>
    			<groupId>com.lmax</groupId>
    			<artifactId>disruptor</artifactId>
    			<version>3.3.4</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.httpcomponents</groupId>
    			<artifactId>httpclient</artifactId>
    			<version>4.5.2</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.httpcomponents</groupId>
    			<artifactId>httpasyncclient</artifactId>
    			<version>4.1.1</version>
    		</dependency>
    
    		<dependency>
    			<groupId>javax.servlet</groupId>
    			<artifactId>javax.servlet-api</artifactId>
    			<version>3.1.0</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-core</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-1.2-api</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-slf4j-impl</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-jcl</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-jul</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>org.apache.logging.log4j</groupId>
    			<artifactId>log4j-web</artifactId>
    			<version>${org.apache.logging.log4j.version}</version>
    		</dependency>
    
    		<dependency>
    			<groupId>junit</groupId>
    			<artifactId>junit</artifactId>
    			<version>4.12</version>
    		</dependency>
    	</dependencies>
    </project>
  • Thunder在第三方运行的时候,只需要引入确定的通信中间件即可。例如采用Netty通信,只需要引入Netty相关的包。当然,一些必要的基础包必须引入,它们包括:
    Apache Common包
    Spring Framework包
    Curator包 (支撑Zookeeper框架)
    FST包
    Fast Json包
    Log4J2包 (异步)
    Redis包 (当用Netty和Hessian做发布/订阅功能,以及日志入库的时候,需要用到它)
    Apache HttpComponents (同步/异步包,当用第三方WebService做监控的时候,需要用到它)
    Google Guava包(做EventBus用)
    其它基础框架进入的包

2. IVY管理方式

如果你想通过IVY来管理Thunder,参考下面的格式

<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="1.0">
	<info organisation="your_package" module="your_module"/>
	<configurations>
		<conf name="default"/>
		<conf name="compile"/>
		<conf name="zip"/>
		<conf name="test"/>
	</configurations>
	<publications>
		<artifact ext="jar"/>
	</publications>
	<dependencies>
	    <!-- 缩进代表上面包的关联引用包-->
	    <!-- Apache Common,必需 -->
	    <dependency org="org.apache" name="commons-lang3" rev="3.4" conf="zip->default"/>
		<dependency org="org.apache" name="commons-collections4" rev="4.1" conf="zip->default"/>
		<dependency org="commons-io" name="commons-io" rev="2.4" conf="zip->default"/>
		<dependency org="org.apache" name="commons-pool2" rev="2.4.2" conf="zip->default"/>
		<dependency org="org.apache" name="commons-configuration" rev="1.10" conf="zip->default"/>
			<dependency org="org.apache" name="commons-lang" rev="2.6" conf="zip->default"/>
			<dependency org="org.apache" name="commons-logging" rev="1.1.1" conf="zip->default"/>
		<dependency org="commons-beanutils" name="commons-beanutils" rev="1.9.2" conf="zip->default"/>
			<dependency org="org.apache" name="commons-collections" rev="3.2.1" conf="zip->default"/>
		<dependency org="org.apache" name="commons-jxpath" rev="1.3" conf="zip->default"/>
		<dependency org="org.apache" name="commons-validator" rev="1.5.0" conf="zip->default"/>
			<dependency org="org.apache" name="commons-digester" rev="1.8.1" conf="zip->default"/>
		
		<!-- Spring,必需,但也可以用低版本代替 -->
		<dependency org="org.springframework" name="spring-core" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-beans" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-aop" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-context" rev="4.2.4.RELEASE" conf="zip->default"/>
			<dependency org="org.springframework" name="spring-expression" rev="4.2.4.RELEASE" conf="zip->default"/>		
		<dependency org="org.springframework" name="spring-context-support" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-web" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-webmvc" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-jms" rev="4.2.4.RELEASE" conf="zip->default"/>
			<dependency org="org.springframework" name="spring-messaging" rev="4.2.4.RELEASE" conf="zip->default"/>
			<dependency org="org.springframework" name="spring-tx" rev="4.2.4.RELEASE" conf="zip->default"/>
		<dependency org="org.springframework" name="spring-test" rev="4.2.4.RELEASE" conf="test->default"/>
				
		<!-- Zookeeper,必需 -->
		<dependency org="org.apache.curator" name="curator-framework" rev="2.9.0" conf="zip->default"/>
			<dependency org="org.apache.curator" name="curator-client" rev="2.9.0" conf="zip->default"/>
				<dependency org="org.apache" name="zookeeper" rev="3.4.6" conf="zip->default"/>		
		<dependency org="org.apache.curator" name="curator-recipes" rev="2.9.0" conf="zip->default"/>
		
		<!-- Netty,必需,与Kafka二选一 -->
		<dependency org="io.netty" name="netty-all" rev="4.0.34.Final" conf="zip->default"/>
		
		<!-- Kafka,必需,与Kafka二选一 -->
		<dependency org="org.apache.kafka" name="kafka-clients" rev="0.9.0.1" conf="zip->default"/>
			<dependency org="org.slf4j" name="slf4j-api" rev="1.7.6" conf="zip->default"/>
			<dependency org="org.xerial" name="snappy-java" rev="1.1.1.7" conf="zip->default"/>
			<dependency org="net.jpountz.lz4" name="lz4" rev="1.2.0" conf="zip->default"/>
		
		<!-- Redis,必需 -->
		<dependency org="redis.clients" name="jedis" rev="2.8.0" conf="zip->default"/>
		
		<!-- FST的二进制序列化,必需 -->
		<dependency org="de.ruedigermoeller" name="fst" rev="2.45" conf="zip->default"/>
			<dependency org="org.objenesis" name="objenesis" rev="2.1" conf="zip->default"/>
		
		<!-- Json的Jaskson序列化,必需 -->
		<dependency org="com.fasterxml.jackson.core" name="jackson-core" rev="2.7.2" conf="zip->default"/>
		<dependency org="com.fasterxml.jackson.core" name="jackson-databind" rev="2.7.2" conf="zip->default"/>
		<dependency org="com.fasterxml.jackson.core" name="jackson-annotations" rev="2.7.2" conf="zip->default"/>

		<!-- Google Guava,必需 -->		
		<dependency org="com.google" name="guava" rev="19.0" conf="zip->default"/>
		
		<!-- Log4J2,必需,但也可以用其它方式代替 -->
		<dependency org="org.apache.logging.log4j" name="log4j-core" rev="2.3" conf="test->default"/>
			<dependency org="org.apache.logging.log4j" name="log4j-api" rev="2.3" conf="test->default"/>
		<dependency org="org.apache.logging.log4j" name="log4j-1.2-api" rev="2.3" conf="test->default"/>
		<dependency org="org.apache.logging.log4j" name="log4j-slf4j-impl" rev="2.3" conf="test->default"/>
		<dependency org="org.apache.logging.log4j" name="log4j-jcl" rev="2.3" conf="test->default"/>
		<dependency org="org.apache.logging.log4j" name="log4j-jul" rev="2.3" conf="test->default"/>
		<dependency org="org.apache.logging.log4j" name="log4j-web" rev="2.3" conf="test->default"/>
		
		<!-- Aop,必需 -->
		<dependency org="unknown" name="aopalliance" rev="1.0" conf="zip->default"/>
		
		
		<!-- Promise链式调用框架,非必需 -->		
		<dependency org="org.jdeferred" name="jdeferred-core" rev="1.2.4" conf="zip->default"/>
		
		<!-- Kryo的二进制序列化,非必需 -->
		<dependency org="com.esotericsoftware" name="kryo" rev="3.0.3" conf="zip->default"/>
			<dependency org="com.esotericsoftware" name="reflectasm" rev="1.10.1" conf="zip->default"/>
				<dependency org="org.objectweb" name="asm" rev="5.0.3" conf="zip->default"/>
			<dependency org="com.esotericsoftware" name="minlog" rev="1.3.0" conf="zip->default"/>
			
		<!-- Protostuff的二进制序列化,非必需 -->	
		<dependency org="io.protostuff" name="protostuff-core" rev="1.4.0" conf="zip->default"/>
			<dependency org="io.protostuff" name="protostuff-api" rev="1.4.0" conf="zip->default"/>	
		<dependency org="io.protostuff" name="protostuff-runtime" rev="1.4.0" conf="zip->default"/>
			<dependency org="io.protostuff" name="protostuff-collectionschema" rev="1.4.0" conf="zip->default"/>
		
		<!-- Alibaba的Jaskson序列化,非必需 -->
		<dependency org="com.alibaba" name="fastjson" rev="1.2.8" conf="zip->default"/>
		
		<!-- Facebook的QuickLz压缩算法,非必需 -->
		<dependency org="com.facebook.jcommon" name="util" rev="0.1.20" conf="zip->default"/>
		
		<!-- Disruptor的异步事件机制,非必需 -->
		<dependency org="com.lmax" name="disruptor" rev="3.3.4" conf="zip->default"/>
		
		<!-- Apache Http,非必需 -->
		<dependency org="org.apache.httpcomponents" name="httpclient" rev="4.5.2" conf="zip->default"/>
			<dependency org="org.apache.httpcomponents" name="httpcore" rev="4.4.4" conf="zip->default"/>
			<dependency org="commons-codec" name="commons-codec" rev="1.9" conf="zip->default"/>
		<dependency org="org.apache.httpcomponents" name="httpasyncclient" rev="4.1.1" conf="zip->default"/>
			<dependency org="org.apache.httpcomponents" name="httpcore-nio" rev="4.4.4" conf="zip->default"/>
				
		<!-- Mail,如果要用到邮件通知功能需要引用该包,非必需 -->
		<dependency org="com.sun.mail" name="javax.mail" rev="1.5.5" conf="zip->default"/>
			<dependency org="com.sun" name="activation" rev="1.1" conf="zip->default"/>
		
		<!-- Splunk,如果要用到Splunk相关API需要引用该包,非必需 -->
		<dependency org="com.splunk" name="splunk-sdk-java" rev="1.5.0" conf="zip->default"/>
	
		<!-- 单元测试,非必需 -->
		<dependency org="junit" name="junit-dep" rev="4.11" conf="test->default"/>
			<dependency org="org.hamcrest" name="hamcrest-core" rev="1.3" conf="test->default"/>
	</dependencies>
</ivy-module>
  • 大小: 8 KB
  • 大小: 4.8 KB
  • 大小: 12 KB
  • 大小: 4.8 KB
  • 大小: 4.1 KB
  • 大小: 15.1 KB
  • 大小: 12.1 KB
  • 大小: 196.7 KB
  • 大小: 5.8 KB
  • 大小: 18.2 KB
  • 大小: 18 KB
  • 大小: 2.8 KB
  • 大小: 5.6 KB
分享到:
评论

相关推荐

    基于Java的Thunder分布式RPC框架设计源码

    Nepxion Thunder是一个基于Java的分布式RPC框架,集成了Netty、Hessian、Kafka、ActiveMQ、Tibco、Zookeeper、Redis、Spring Web MVC、Spring Boot和Docker等技术。它支持多协议、多组件和多序列化,为开发者提供了...

    协程式驱动框架Nepxion-Coroutine.zip

    Coroutine是基于Kilim/Promise JDeferred的协程式驱动框架,基于Apache Zookeeper的分布式规则存储和动态规则变更通知。 主要特性: 1. 基于微服务框架理念设计 2. 支持同步/异步调用 3. 支持串行/并行调用 4....

    Thunder::high_voltage: Nepxion Thunder is a distribution RPC framework based on Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper + Redis + Spring Web MVC + Spring Boot + Docker 多协议、多组件、多序列化的分布式RPC调用框架

    Nepxion Thunder是一款基于Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper(Curator Framework) + Redis + FST + Spring + Spring Web MVC + Spring Boot + Docker分布式RPC调用框架。架构思想主要是来自...

    yinheli/docker-thunder-xware:latest 镜像打包下载

    yinheli/docker-thunder-xware:latest 镜像打包下载 群晖 NAS DSM 系统,只要三步使用 Docker 安装迅雷远程下载

    Go-Thunder⚡️一个Go框架用于快速构建强大的graphql服务

    在压缩包"thunder-master"中,包含了Thunder框架的源码和其他相关资源。开发者可以通过查看源码,了解其内部实现原理,也可以直接使用它来快速搭建自己的GraphQL服务。在实际开发过程中,结合Go语言的标准库和第三方...

    基于Kilim、Promise JDeferred、Zookeeper和Spring Boot的协程分布式调用聚合框架设计源码

    该项目是一款基于Kilim、Promise JDeferred、Zookeeper和Spring Boot技术的协程驱动分布式...该框架支持Nepxion Thunder、Dubbo和Motan等RPC调用的集成,并通过规则配置实现调用聚合,适用于构建高性能的分布式系统。

    wine-thunder_0.6-2_all.deb

    wine-thunder_0.6-2_all.deb用于在linux系统下,使用wine直接按装的迅雷软件,实现高速下载,在ubunut,fedora等linux版本中,实现直接点击安装

    开源项目-omeid-thunder.zip

    "thunder-master"这个压缩包子文件名可能代表项目的主分支或主代码库,这在Git等版本控制系统中很常见,"master"通常指的是默认分支,存放着项目的最新稳定版本。解压后,用户可以访问到项目的源代码、文档、构建...

    Go-Thunder是BoltDB的交互式Shell

    Go-Thunder是一个基于BoltDB数据库的交互式Shell工具,主要设计用于方便地与BoltDB数据库进行交互,提供了一种命令行界面来操作和管理数据。BoltDB本身是Go语言实现的一个轻量级、文件存储的键值对数据库,它以其...

    home-work-thunder

    【压缩包子文件的文件名称列表】"thunder-oms" 这个文件名可能代表“Thunder Operation Management System”(迅雷运营管理系统),或者是一种特定的模块或服务。它可能包含了项目的源代码、配置文件、测试脚本等,...

    A10-Thunder_1030S方案白皮书.pdf

    A10-Thunder_1030S方案白皮书.pdf

    系统工具-文件下载-thunder_3.4.0.4338.zip

    这里的“thunder”很可能指的是迅雷,一个在中国广为人知的下载管理软件。版本号“3.4.0.4338”指示这是迅雷软件的某个特定更新版本,通常每个版本都会有性能优化、新功能添加或已知问题修复。 迅雷(Thunder)是...

    开源项目-muesli-thunder.zip

    在使用Thunder时,用户应首先下载并解压“muesli-thunder.zip”文件,得到“thunder-master”目录。然后按照项目提供的安装指南编译并安装Thunder,最后通过命令行启动Thunder,开始探索和操作BoltDB数据库。对于...

    A10-Thunder_6430S方案白皮书.pdf

    A10-Thunder_6430S方案白皮书.pdf

    A10-Thunder_930方案白皮书.pdf

    将多个独立解决方案集于一体,包括应用交付控制器(ADC)、服务器负载均衡器(SLB)、DNS应用防火墙(DAF)、Web应用防火墙(WAF)、分布式拒绝服务攻击(DDoS)保护、应用程序访问管理(AAM)等等。 A10 Thunder ...

    3D-Thunder-Lightning.zip

    3D-Thunder-Lightning.zip,受航母指令启发的开源未来动作飞行模拟器游戏,3D建模使用专门的软件来创建物理对象的数字模型。它是3D计算机图形的一个方面,用于视频游戏,3D打印和VR,以及其他应用程序。

    系统工具-文件下载-Thunderbird91.0b4.zip

    Thunderbird是一款由Mozilla基金会开发的开源邮件客户端,它集成了电子邮件、新闻组、RSS阅读器和日历功能,为用户提供了一站式的通信解决方案。Thunderbird91.0b4是该软件的一个版本,其中“91.0b4”表示的是版本号...

    A10-Thunder-5430S方案白皮书

    文档可能还涵盖了设备的硬件规格、性能指标、管理和监控工具,以及与其他A10产品或第三方系统的集成方法。 通过阅读这份白皮书,IT专业人员可以深入了解如何利用Thunder 5430S来构建和维护高性能、高可用性的数据...

    Android代码-Thunder

    Thunder Android OkHttp util package let response callback at MainThread(UIThread), also it‘s lifecycle safety. ⚠️ Thunder‘s code is based on SugarTask(Very nice code

    Thunder-Download-Extension-for-Chrome_v3.1等.zip

    【Thunder-Download-Extension-for-Chrome_v3.1等.zip】这个压缩包文件包含的是针对谷歌浏览器(Chrome)的迅雷下载扩展程序的版本v3.1。迅雷下载工具是一款在中国广泛使用的下载管理器,它以其高速下载能力和对各种...

Global site tag (gtag.js) - Google Analytics