我使用的是spring boot微服务。我已经配置了eureka、zuul代理和另一个微服务(帐户)。如果我直接从账户上打电话,效果很好。帐户和zuul服务器都显示在eureka上。
当我尝试使用zuul代理命中它得到状态代码200OK
但没有得到任何结果
下面是我对zuul的配置
server:
port: 8076
eureka:
client:
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://localhost:8078/eureka/
instance:
hostname: localhost
health-check-url-path: /actuator/health
status-page-url-path: /actuator/info
logging:
level:
com.netflix.discovery: 'ON'
org.springframework.cloud: DEBUG
zuul:
ignoredServices: '*'
routes:
account:
serviceId: ACCOUNT
url: http://192.168.0.62:8081/
stripPrefix: false
predicate:
- Path=/accounts/**
debug:
requests: true
management:
security:
enabled: false
endpoints:
web:
exposure:
include: '*'
控制台日志到目前为止
路由匹配=ZuulRoute{id='account',path='/account/**',serviceId='account',url='s'http://192.168.0.62:8081/'、stripPrefix=false、retryable=null、sensitiveHeaders=[]、customSensitiveHeaders=false、}--------------------映射到组织。springframework。云netflix。祖尔。网状物ZuulController@7bb67520
"zuul.ignoredServices": {
"value": "*"
},
"zuul.routes.account.serviceId": {
"value": "ACCOUNT"
},
"zuul.routes.account.url": {
"value": "http://192.168.0.62:8081/"
},
"zuul.routes.account.stripPrefix": {
"value": false
},
"zuul.routes.account.predicate[0]": {
"value": "Path=/accounts/**"
},
"zuul.debug.requests": {
"value": true
},
"management.security.enabled": {
"value": false
},
"management.endpoints.web.exposure.include": {
"value": "*"
}
我无法从这里得到任何东西,如果有什么错误,请检查并让我知道。任何帮助都是有用的
谢谢。
如果需要更多信息,请告诉我。
正如我所见,你设置了Eureka,但你没有正确使用它。首先是在zuul yaml
eureka:
client:
registerWithEureka: true
您不需要向eureka注册zuul应用程序,因为您直接访问zuul gateway,没有任何服务会试图定位和访问您的网关。
然后呢
account:
serviceId: ACCOUNT
url: http://192.168.0.62:8081/
stripPrefix: false
predicate:
- Path=/accounts/**
如果您有服务发现,您不需要url
属性和谓词:-Path
,请尝试:
account:
serviceId: <YOUR_ACCOUNT_SERVICE_ID>
stripPrefix: false
path: /account/**
默认情况下,serviceId为:
spring:
application:
name: <YOUR_ACCOUNT_SERVICE_ID>
从这里查看我的答案
我有一个简单的spring引导的微服务(用户服务)和一个spring引导的网关服务(网关-服务器),使用Zuul设置到Eureka服务器(发现服务)注册。向用户-服务发送请求直接起作用,并且所有服务都成功地注册到eureka服务器。当我向网关服务器发送请求时,我会得到一个转发错误,原因是“com.netflix.client.clientException:Load balancer没有用于客户端
我有一个小的Spring Boot API在docker中运行。下面显示的是我用来升级容器的命令。 然后,我有一个停靠的JMeter,我使用下面的命令来启动它 但是所有的测试都失败了,请求没有被发送到API。这就是JMeter的CLI的外观 请求的测试配置: 协议:htttp 服务器:localhost 端口:8080 方法:GET 路径:/api/factorial 完整的bash文件如下所示:
null 例如,将返回JSON格式的用户。 用户应用程序也有一个HTTPendpoint,它应该将请求转发给其他应用程序--让我们将其中一个称为作业应用程序。 此endpoint为。例如, 请注意,初始请求到达用户应用程序,然后它被转发到作业应用程序。 我把我思考的一些方法。也许你过去做过类似的事情,所以你可以分享你这样做的经验。甚至改进我的一种方法。 我将使用映射在用户应用程序中创建 null
我只有很少的spring boot微服务,它们是通过云环境部署到JBoss的。这些引导服务是在Eureka服务器中注册自己的Eureka客户端。下面是一个例子: 它用user-regn-service-app Eureka主页的名称向Eureka注册应用程序 wildfly服务器在8080处运行,而user-regn-service-app部署在上下文路径/user-regn-service-ap
XMLHttpRequest 对象用于和服务器交换数据。 向服务器发送请求 如需将请求发送到服务器,我们使用 XMLHttpRequest 对象的 open() 和 send() 方法:xmlhttp.open("GET","ajax_info.txt",true); xmlhttp.send(); 方法 描述 open(method,url,async) 规定请求的类型、URL 以及是否异步处理