使用netty实现的http客户端工具类,主要支持post方式的http+json。 为了性能考虑,做了池化处理,比如你要请求的url为http:1.1.1.1:8080/xxxxx,那么,我们会预先建立到1.1.1.1:8080的连接池,使用的技术为commons-pool2。 以上都准备好了后,发送http请求时,下层会先去commons-pool里获取一个netty client,然后用它来发送http请求。 其中,还涉及到同步转异步的一些处理。
简单的rpc框架,部分地方参考了dubbo的实现,比如同步转异步,逻辑分层,各层间通过接口交互; 该rpc框架还在不断完善中,其主要特性为: 1、框架目前从简,分了6层,从上到下为业务层,xml配置解析层,注册中心层,集群层,信息交互层,传输层。 2、当上层依赖下层时,会从spring容器中注入下层的接口,假设有多个下层的实现时,通过spi机制在文件总指定要使用的下层实现。 3、目前传输层支持netty和mina(目前都是最简单的实现,没有做连接池,所有请求复用同一个连接),集群层支持failover和failfast策略。 本mini-dubbo框架,主要希望实现灵活地替换各个元素,这一点受dubbo影响较深,感谢dubbo。 本框架的相关介绍文章:
:hotsprings: A Spring-like, JSON based Java Web Framework . 一个类似 Spring 但以 JSON 为主的 Java Web 框架。
fork自https://github.com/mercyblitz/thinking-in-spring-boot-samples.git