我有许多控制器方法的服务。我的任务是将该服务“拆分”为微服务。
微服务本身将部署在其他计算机上。 Nginx通过位置重定向。
主要问题是,有一个位置http://mydomain/myservice/srv/data
接收不同类型的请求。
然后根据请求正文中a字段中的值调用after逻辑。
例如,两个请求:
<request type="getname" val="1"/>
<request type="balance" val="1"/>
第一个请求必须在http://mydomain/myservice1/data/name
上转发,第二个请求必须在http://mydomain/myservice2/data/balance
上转发
问题:是否有用于此目的的库?
UPD :我正在基于RouteLocator(弹簧云)编写简单的jar;也许还有另一种方法吗? Spring Cloud不是我们熟悉的堆栈。
答案 0 :(得分:1)
您可能会看看spring integration,它实现了enterprise integration patterns的大部分内容,包括content based routing
答案 1 :(得分:0)
我认为基于主体中不同请求类型代理请求的方法不是代理的好方法。 URI最终应该负责它所服务的请求和响应的类型。
客户端具有有关请求类型以及发送请求的所有必要信息。基于这一事实,我会将您拥有的资源重构为处理不同请求类型的不同资源,并为每个有效负载确定一个显式架构。
总而言之,实现如下所示: