我是新来的快去微服务发展,但我希望我的问题才有意义:如何处理代理多种服务与golang和labstack呼应
比方说,我有一个微型的服务中处理用户诸如创建,更新用户的&等动作,可在localhost:8081/users
处获得。
除此之外,我还有一个微服务处理事件创建,更新&更新,可在localhost:8082/events
。
而且,在此之上,有一个网关,在localhost:8080
处可用,它假定充当代理来将传入请求分派到正确的服务。
我发现这片这正很好地从我的网关重定向到我的用户的服务代码:
proxy := httputil.NewSingleHostReverseProxy(&url.URL{
Scheme: "http",
Host: "localhost:8081",
})
http.ListenAndServe(":8080", proxy)
但是有两两件事都困扰着我:
我怎么猜想处理多个微服务的调度?我想有一个条件,例如:“如果客户请求
localhost:8080/users
它应该去用户的服务,如果他请求localhost:8080/events
它应该去事件的服务(请随时告诉我,如果这种方法是错误的)正如我在标题中提到的,我使用的是labstack /回声路由器,所以我不想开始我服务器
http.ListenAndServe(":8080", proxy)
,但像e := echo.New() e.Start(":8080")
但我找不到如何通过此工具传递代理作为参数。