增加缓存并发查询和更新的统计,并增加熔断机制。

This commit is contained in:
zhengchao
2018-10-21 20:09:23 +08:00
parent c5f5ee2655
commit 9290dd0e0f
3 changed files with 54 additions and 8 deletions

View File

@@ -854,7 +854,15 @@ void ssl_stream_log_error(struct bufferevent * bev, enum tfe_conn_dir dir, void*
unsigned long sslerr=0;
int fd=bufferevent_getfd(bev);
struct tfe_stream_addr* addr=tfe_stream_addr_create_by_fd(fd, dir);
char* addr_string=tfe_stream_addr_to_str(addr);
char* addr_string=NULL;
if(addr)
{
addr_string=tfe_stream_addr_to_str(addr);
}
else
{
addr_string=tfe_strdup("null");
}
/* Can happen for socket errs, ssl errs;
* may happen for unclean ssl socket shutdowns. */
@@ -1046,7 +1054,12 @@ extern void ssl_async_upstream_create(struct future * f, struct ssl_mgr * mgr, e
ctx->addrlen = sizeof(ctx->addr);
ret = getpeername(fd_upstream, (struct sockaddr *)&(ctx->addr), &(ctx->addrlen));
assert(ret == 0);
if(ret!=0)
{
ssl_connect_server_ctx_free(ctx);
promise_failed(p, FUTURE_ERROR_EXCEPTION, "upstream fd closed");
return;
}
ctx->fd_downstream = fd_downstream;
ctx->fd_upstream = fd_upstream;