`
nepxion
  • 浏览: 38170 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   1. 概要 1.1 Thunder是基于Netty + Hessian + Kafka + ActiveMQ + Tibco + Zookeeper(Curator Framework) + Redis + FST + Spring + Spring Web MVC + Spring Boot + Docker分布式RPC调用框架。架构思想主要是来自阿里巴巴的Dubbo框架,但比它更轻量级,零配置式实现部署跟Dubbo相比,Thunder的增强功能包括1) ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   实例代码在工程nepxion-thunder-spring-boot-docker下 Spring Boot 1. Spring Boot实例代码     有三个入口,使用起来比较方便,代码逻辑就不介绍了 NettyServerBootTest.java单纯 ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/  框架支持两种方式的序列化,Java对象和字节数组的序列化和反序列化,Java对象和Json字符串的转换  1)binary - Java实体类和字节数组的序列化/反序列化2)compression - 对binary模块运行结果的压缩/解压3)json - Java实体类和Json字符串的转换调用序列化的方式很简单,调用SerializerExecutor.java,主要是下面6个方法 public static byte[] serialize(Seriali ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/ 调用链根据单端和多端分成两种方式 单端链式调用 多端跨进程调用链 单端链式调用 基于Jdeferred框架,实现单端的链式调用,支持异步链式Callback调用。它的调用过 ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/  基于Google Guava EventBus,实现事件驱动发布框架内部事件,解除耦合;发布外部事件,进行重试补偿,异常通知(邮件或短信通知)  1)eventbus - 基于Google Guava的进程内发布/订阅机制,支持同步和异步事件发布2)mobile - 基于EventBus的异常信息的短信通知,未实现3)protocol - 基于EventBus的异常信息的发布/拦截,是其它事件通知模块的基础4)registry - 基于EventBus的上下线通知 ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   1. 本地配置 如果本地配置启动,需要在XML配置config="local" <thunder:registry id="registry" type="zookeeper" address="localhost:2181" config="local"/ ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/  负载均衡和同步中心只应用于Netty和Hessian   loadbalance - 负载均衡consistenthash - 一致性Hash算法random - 随机算法roundrobin - 轮询算法 consistency - 同步中心  1. 负载均衡 ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   通过MonitorStat.java去刻画监控的属性,包括 private String traceId; // 跟踪ID private String messageId; // 消息ID private String messageType; // 消息类型,取值:Reque ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   1. 介绍 治理中心是基于Nepxion Swing Repository组件,Java Desktop版的服务治理系统,计划用基于Ebay Jetstream框架做个Web版。它的主要功能包括 1.1 登录需要填入注册中心(Zook ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   1. 存储结构 点击查看大图 应用存储区位于顶级节点application下,分不同的通信中间件进行存储。树状结构:对于服务端,[中间件名]/[组名]/[应用名]/service/[接口名]/[ApplicationEntity的Json串]对于调用端,[中间件名]/[组名]/[应用名]/reference/[接口名]/[ApplicationEntity的Json串]其中[应用名]节点下存储ApplicationConfig.java对象,内容如下: ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/      1. JMS消息队列模型 主要是用于ActiveMQ & Tibco等基于JMS标准的MQ。结构图如下: 点击查看大图 工作原理 1)Spring扫描线程扫描到一个Service节点后,就会去新建一个MQContext对象,放入ServiceContextMap缓存中(如果存在则不新建,去缓存中拿),进而创建queueAsyncResponseDestination,queueSyncResponseDestination,top ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   点对点模型实现,主要是用于Netty & Hessian。结构图如下:点击查看大图   1 Netty框架 1.1 工作原理 1)Spring扫描线程扫描到一个Service节点后,就开启一个服务端Netty NioSocketChannel通道(绑定服务端口),并开启Redis的对该Service的订阅 2)Spring扫描线程扫描到一个Reference节点后,就开启一个调用端Netty NioSocketChannel通道(根据Applica ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/    1 ServerExecutor.java - 服务端运行器接口    interfaze :接口名(例如com.nepxion.thunder.test.service.UserService)    applicationEntity包含四个参数:application(应用名),group(组名),host(服务地址),port(端口)。应用名和组名的作用,一是为了管理方便,二是防止同名接口的出现    ServerExecutor.java作用是根据 ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   Thunder的扫描框架是采用Spring自定义标签扫描来初始化的 1. 定义名称空间 定义thunder-1.0.xsd,通过xsd文件进行对Spring配置文件节点的定义,规范对服务端/调用端XML格式 定义spring.schemas,实现对thunder-1.0.xsd的引用 http\://www.nepxion.com/schema/thunder/thunder-1.0.xsd=com/nepxion/thunder/thunde ...
Nepxion-Thunder(QQ 群 471164539)发布在https://github.com/Nepxion/   1. 类结构 1.1 cluster:负载均衡和远程注册中心集群服务地址同步1.1.1 consistency - 远程服务上下线会产生事件,该模块线程安全维护本地服务列表和注册中心同步。该服 ...
Global site tag (gtag.js) - Google Analytics