我有一个包含许多控制器方法的服务。我的任务是将此服务“拆分”为微服务。微服务本身将部署在其他机器上。Nginx 按位置重定向。主要问题是只有一个位置 http://mydomain/myservice/srv/data接收不同类型的请求。并根据请求正文中 a 字段中的值调用之后的逻辑。例如,两个请求:<request type="getname" val="1"/><request type="balance" val="1"/>必须转发第一个请求,http://mydomain/myservice1/data/name然后转发第二个请求http://mydomain/myservice2/data/balance问题:是否有任何用于此类目的的库?UPD:我正在编写基于 RouteLocator (spring cloud) 的简单 jar;也许有另一种方法可以做到这一点?Spring cloud 不是我们熟悉的堆栈。
2 回答
互换的青春
TA贡献1797条经验 获得超6个赞
我认为基于body中不同请求类型来代理请求的方式不是很好的代理方式。URI 最终应该负责它所服务的请求类型和它应该响应的响应。
客户端拥有有关请求类型的所有必要信息,因此可以将请求发送到何处。从这个事实来看,我会将您拥有的资源重构为处理不同请求类型的不同资源,并确定每个负载的显式架构。
总而言之,实现将如下所示:
为不同类型的请求重构服务器逻辑到它们自己的资源 URI
移动将请求发送到客户端的逻辑,可能使用工厂模式之类的东西
添加回答
举报
0/150
提交
取消