coderlongren / Web-Flux-Http-Proxy

基于WebFlux封装的非阻塞HTTP调用代理

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Web-Flux-Http-Proxy

  1. 使用WebClient 提供WebFlux风格的 Http接口代理
  2. 支持自定义http线程池
  3. fluent的API

How to Use

使用 @ApiServerScan(packages = "com.coderlong.webflux.service")扫描固定package下service接口。

service接口使用 @ApiServer(value = "http://localhost:8081", microName = "webflux-server")标识服务名

声明HTTP Path

@GetMapping(ROOT + "/")
Flux<User> getAllUser();

@GetMapping(ROOT + "/{id}")
Mono<User> getUserById(@PathVariable("id") String id);

@DeleteMapping(ROOT + "/{id}")
Mono<Void> deleteUserById(@PathVariable("id") String id);
  1. Simple-Http-provider 启动 8081端口

  2. Simple-Http-client 启动8888端口, 请求 8888 把http请求自动转化为reactor操作符

FIX ME

如果想实现http服务动态,可以使用Nacos/ZK provider启动时注册IP和端口,client启动时扫描@ApiServer.microName 把IP动态注入到value 实现服务发现的功能.

负载均衡可以在代理层 加一层SLB

About

基于WebFlux封装的非阻塞HTTP调用代理


Languages

Language:Java 100.0%