apache / servicecomb-service-center Goto Github PK
View Code? Open in Web Editor NEWA standalone service center to allow services to register their instance information and to discover providers of a given service
License: Apache License 2.0
A standalone service center to allow services to register their instance information and to discover providers of a given service
License: Apache License 2.0
there are some typos such as recieve in design.md unkown in on.md.
参考 codefirst 修改 resources\config\log4j.demo.properties 看起来是不行的。
代码位置:https://github.com/hank-whu/rpc-benchmark/tree/master/servicecomb-server
有提供web管理界面吗
If the microservices count is more than 100 that limit the display of Topology view and give user option to select some particular AppId to view the topology
service-center有没有监控的UI页面? 查看微服务列表等。
some legacy system is running on VM, some of app is migrating to k8s , some are not. sc should give a way to support service discovery between legacy system and docker container platform
[lkong@dev service-center-1.0]$ curl -XGET -H "Content-Type: application/json" -H 'x-domain-name: default' -d'{}' http://127.0.0.1:30100/registry/v3/instances
{"errorCode":"400001","errorMessage":"Invalid parameter(s)","detail":"The field 'FindInstancesRequest.ConsumerServiceId' value() does not match rule: {Min: 1,Length: 64,Regexp: ^.$}"}
[lkong@dev service-center-1.0]$ ^C
[lkong@dev service-center-1.0]$ curl -XGET -H "Content-Type: application/json" -H 'x-domain-name: default' -d'{}' http://127.0.0.1:30100/registry/v3/microservices/ea81c471487d11e889d714050a32e26e/instances
{"errorCode":"400001","errorMessage":"Invalid parameter(s)","detail":"The field 'GetInstancesRequest.ConsumerServiceId' value() does not match rule: {Min: 1,Length: 64,Regexp: ^.$}"}
[lkong@dev service-center-1.0]$
百兆宽带版本1.0下载了N次下不来,能在华为官网挂个版本吗?
No README here, can anyone provide it?
Like where is API doc, how to run image, it is lacking of document
The certificates stores under etc/ssl folder, while the application configuration files stores under conf folder, which looks inconsistent. Is it a better idea to merge both of it under etc folder?
service-center如何实现高可用和负载均衡
若已经知道当前App里有哪些微服务后,能否通过调用API批量的注册这些微服务?
If I already know all microservices in the application, can I batch register them via API?
When I come to localhost:30100/health I Can see words like below:
{
"instances": [
{
"instanceId": "d837ce4f950a11e78877a602b9b0d088",
"serviceId": "d8159fcf950a11e78877a602b9b0d088",
"endpoints": [
"rest://127.0.0.1:30100"
],
"hostName": "service_center_169_254_71_121",
"status": "UP",
"healthCheck": {
"mode": "push",
"interval": 30,
"times": 3
},
"timestamp": "1504925946",
"stage": "prod"
}
]
}
I think that Maybe /health
endpoint shows health info like below to make it compatible with spring boot actuator
:
{
"status": "UP"// the cluster status
}
And the current /health
Maybe call /metadata
.
What's more over, Is there any other status of service-center
? like :
UP
DOWN
OUT_OF_SERVICE
UNKNOWN
Service-Center ZIP download is very slow (<1k average)
Is there a mirror site in China?
../../coreos/etcd/clientv3/client.go:346: cannot use c.tokenCred (type *authTokenCredential) as type credentials.PerRPCCredentials in argument to grpc.WithPerRPCCredentials:
*authTokenCredential does not implement credentials.PerRPCCredentials (wrong type for GetRequestMetadata method)
have GetRequestMetadata("context".Context, ...string) (map[string]string, error)
want GetRequestMetadata("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, ...string) (map[string]string, error)
../../coreos/etcd/clientv3/client.go:421: cannot use client.balancer (type *healthBalancer) as type grpc.Balancer in argument to grpc.WithBalancer:
*healthBalancer does not implement grpc.Balancer (wrong type for Get method)
have Get("context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
want Get("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
../../coreos/etcd/clientv3/retry.go:147: cannot use retryKVClient literal (type *retryKVClient) as type etcdserverpb.KVClient in return argument:
*retryKVClient does not implement etcdserverpb.KVClient (wrong type for Compact method)
have Compact("context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
want Compact("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
../../coreos/etcd/clientv3/retry.go:200: cannot use retryLeaseClient literal (type *retryLeaseClient) as type etcdserverpb.LeaseClient in return argument:
*retryLeaseClient does not implement etcdserverpb.LeaseClient (wrong type for LeaseGrant method)
have LeaseGrant("context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
want LeaseGrant("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
../../coreos/etcd/clientv3/retry.go:254: cannot use retryClusterClient literal (type *retryClusterClient) as type etcdserverpb.ClusterClient in return argument:
*retryClusterClient does not implement etcdserverpb.ClusterClient (wrong type for MemberAdd method)
have MemberAdd("context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
want MemberAdd("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
../../coreos/etcd/clientv3/retry.go:299: cannot use retryMaintenanceClient literal (type *retryMaintenanceClient) as type etcdserverpb.MaintenanceClient in return argument:
*retryMaintenanceClient does not implement etcdserverpb.MaintenanceClient (wrong type for Alarm method)
have Alarm("context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
want Alarm("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
../../coreos/etcd/clientv3/retry.go:368: cannot use retryAuthClient literal (type *retryAuthClient) as type etcdserverpb.AuthClient in return argument:
*retryAuthClient does not implement etcdserverpb.AuthClient (wrong type for AuthDisable method)
have AuthDisable("context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
want AuthDisable("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/auth_client_adapter.go:28: cannot use as2ac literal (type *as2ac) as type etcdserverpb.AuthClient in return argument:
*as2ac does not implement etcdserverpb.AuthClient (wrong type for AuthDisable method)
have AuthDisable("context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
want AuthDisable("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/chan_stream.go:151: cannot use srv (type *chanStream) as type grpc.Stream in field value:
*chanStream does not implement grpc.Stream (wrong type for Context method)
have Context() "context".Context
want Context() "github.com/coreos/etcd/vendor/golang.org/x/net/context".Context
../../coreos/etcd/proxy/grpcproxy/adapter/cluster_client_adapter.go:28: cannot use cls2clc literal (type *cls2clc) as type etcdserverpb.ClusterClient in return argument:
*cls2clc does not implement etcdserverpb.ClusterClient (wrong type for MemberAdd method)
have MemberAdd("context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
want MemberAdd("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/election_client_adapter.go:28: cannot use es2ec literal (type *es2ec) as type v3electionpb.ElectionClient in return argument:
*es2ec does not implement v3electionpb.ElectionClient (wrong type for Campaign method)
have Campaign("context".Context, *v3electionpb.CampaignRequest, ...grpc.CallOption) (*v3electionpb.CampaignResponse, error)
want Campaign("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *v3electionpb.CampaignRequest, ...grpc.CallOption) (*v3electionpb.CampaignResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/election_client_adapter.go:51: cannot use es2ecClientStream literal (type *es2ecClientStream) as type v3electionpb.Election_ObserveClient in return argument:
*es2ecClientStream does not implement v3electionpb.Election_ObserveClient (wrong type for Context method)
have Context() "context".Context
want Context() "github.com/coreos/etcd/vendor/golang.org/x/net/context".Context
../../coreos/etcd/proxy/grpcproxy/adapter/kv_client_adapter.go:28: cannot use kvs2kvc literal (type *kvs2kvc) as type etcdserverpb.KVClient in return argument:
*kvs2kvc does not implement etcdserverpb.KVClient (wrong type for Compact method)
have Compact("context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
want Compact("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/lease_client_adapter.go:30: cannot use ls2lc literal (type *ls2lc) as type etcdserverpb.LeaseClient in return argument:
*ls2lc does not implement etcdserverpb.LeaseClient (wrong type for LeaseGrant method)
have LeaseGrant("context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
want LeaseGrant("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/lease_client_adapter.go:45: cannot use ls2lcClientStream literal (type *ls2lcClientStream) as type etcdserverpb.Lease_LeaseKeepAliveClient in return argument:
*ls2lcClientStream does not implement etcdserverpb.Lease_LeaseKeepAliveClient (wrong type for Context method)
have Context() "context".Context
want Context() "github.com/coreos/etcd/vendor/golang.org/x/net/context".Context
../../coreos/etcd/proxy/grpcproxy/adapter/lock_client_adapter.go:28: cannot use ls2lsc literal (type *ls2lsc) as type v3lockpb.LockClient in return argument:
*ls2lsc does not implement v3lockpb.LockClient (wrong type for Lock method)
have Lock("context".Context, *v3lockpb.LockRequest, ...grpc.CallOption) (*v3lockpb.LockResponse, error)
want Lock("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *v3lockpb.LockRequest, ...grpc.CallOption) (*v3lockpb.LockResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/maintenance_client_adapter.go:28: cannot use mts2mtc literal (type *mts2mtc) as type etcdserverpb.MaintenanceClient in return argument:
*mts2mtc does not implement etcdserverpb.MaintenanceClient (wrong type for Alarm method)
have Alarm("context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
want Alarm("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/maintenance_client_adapter.go:28: too many errors
发现service centor中很多引用包的路径为:golang.org/x/net/context
但是service center中引用其他github的包中引用的路径是“context”这样会导致冲突,
这个当时你们是怎么考虑的呢,怎么解决的呢
是否支持 使用自签证书 etcd server (开启ssl client verify)?
如标题
2017-10-30T09:31:26.462883807Z ERROR service_center 15 github.com/ServiceComb/service-center/server/helper/header.go GetTenantProjectFromHeader():40 - service_center."/favicon.ico does not contain domain."
假如我这边部署了两个service center(不知道能不能设置主从节点),用nginx作为反向代理,这样做会不会有问题?有必要这么做吗?
外面选择时端口是20879,实际测试时又是2087
( Error while sending request due to : Post http://10.63.185.117:2087/appServiceImpl2/queryApplicationFromInner: dial tcp 10.63.185.117:2087: connectex: No connection could be made because the target machine actively refused it.
better to use CI to deliver latest, and release on-demand
How about to change the log module to logus or other opensource project?
https://github.com/ServiceComb/service-center/tree/master/lager
安装 软件 Install Java development environment(软件安装方式) 和 Run Service Center(docker 方式运行) 有什么关系呢?
http://servicecomb.incubator.apache.org/docs/quick-start/
如题,怎样平滑关闭Client?
我使用mac开发,发现没有对应的release,这给第一次使用的人带来很多不方便,可能很多人会因此放弃尝试
过程:
我发现没有mac的release后,使用docker版本启动了service-center,然后我打算启动frontend却发现没有docker版的frontend也没有mac的release, 无奈之下我自己编译service-center, 下载etc, 自己编译frontend, 拷贝配置,修改脚本,从打算实验service-center到跑起来整整浪费了1个小时的时间,如果mac版本完整,那应该就是几分钟的事情
正常关闭掉服务,日志也有提示取消注册成功,但是在注册中心看到该服务还是UP状态
The default value of ssl_mode in configuration file app.conf is on, however, by default there has no certificates under the etc folder which makes the service-center refuse to start.
service center配置了使用证书的https访问后,frontend如何配置使用https证书模式?
在openSUSE 11 上启动报错,错误日志如下
SIA1000005342:/opt/devops/programs/apache-servicecomb-incubating-service-center-1.0.0-m2-linux-amd64 # more start-sc.log
2018-06-26 16:08:30.886121 I | embed: listening for peers on http://127.0.0.1:2380
2018-06-26 16:08:30.908343 C | mvcc/backend: cannot open database at data/member/snap/db (cannot allocate memory)
panic: cannot open database at data/member/snap/db (cannot allocate memory)
goroutine 110 [running]:
github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/pkg/capnslog.(*PackageLogger).Panicf(0xc42043ac20, 0x15bdeb3, 0x1f, 0xc420074f28, 0x2, 0x2)
/home/root1/servicecomb/go/src/github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/pkg/capnslog/pkg_logger.go:83 +0x162
github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/mvcc/backend.newBackend(0xc420220da0, 0x13, 0x5f5e100, 0x2710, 0x0)
/home/root1/servicecomb/go/src/github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/mvcc/backend/backend.go:106 +0x144
github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/mvcc/backend.NewDefaultBackend(0xc420220da0, 0x13, 0xe76919, 0x999028)
/home/root1/servicecomb/go/src/github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/mvcc/backend/backend.go:100 +0x4d
github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/etcdserver.NewServer.func1(0xc420220da0, 0x13, 0xc420431f70, 0xc420255200)
/home/root1/servicecomb/go/src/github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/etcdserver/server.go:273 +0x35
created by github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/etcdserver.NewServer
/home/root1/servicecomb/go/src/github.com/apache/incubator-servicecomb-service-center/vendor/github.com/coreos/etcd/etcdserver/server.go:272 +0x439
os version如下:
cat /proc/version
Linux version 3.0.76-0.11-default (geeko@buildhost) (gcc version 4.3.4 [gcc-4_3-branch revision 152973] (SUSE Linux) ) #1 SMP Fri Jun 14 08:21:43 UTC 2013 (ccab990)
How can I get docker image for front end of service-center?
main.go 第40行:
addr := fmt.Sprintf("127.0.0.1:%d", *port)
修改为:
addr := fmt.Sprintf(":%d", *port)
As we have some integration test which is using the logger output to find out if the service center is started or not. So please don't change the service center started logger message (" Api server is ready" ).
Issue raised by @lexkong
my problem is, we have a api gateway, and now we want to find service from service center, which is from service center our api gateway can find host:port for the specified path such as: /calculator/bmi
is there any way or docs used to connect our api gateway and service center?
service name is case sensitive, but sc front end will rename the first letter to upper case. this is quit confusing.
前提:华为公有云(ServiceStage)上已经部署好 ServiceCenter的容器应用,外部访问地址:117.78.49.144:30100, 内部访问地址192.168.0.244:30100,并且可以正常使用。
然后在华为公有云上部署 Frontend Servicecenter,结果失败:
runtime: goroutine stack exceeds 1000000000-byte limit
fatal error: stack overflow
runtime stack:
runtime.throw(0x10297d6, 0xe)
C:/Go/src/runtime/panic.go:605 +0x9c
runtime.newstack(0x0)
C:/Go/src/runtime/stack.go:1050 +0x6ef
runtime.morestack()
C:/Go/src/runtime/asm_amd64.s:415 +0x8e
goroutine 169 [running]:
runtime.mapiternext(0xc062c253e8)
C:/Go/src/runtime/hashmap.go:771 +0x6ff fp=0xc062c25348 sp=0xc062c25340 pc=0x40a59f
runtime.mapiterinit(0xeacae0, 0xc042804240, 0xc062c253e8)
C:/Go/src/runtime/hashmap.go:768 +0x285 fp=0xc062c253b0 sp=0xc062c25348 pc=0x409c45
github.com/ServiceComb/service-center/server/core/backend/store.(*Indexer).deletePrefixKey(0xc04237c0c0, 0xc0420f64c0, 0x3d, 0xc0420f64c0, 0x3d)
C:/Users/m00307339/go/src/github.com/ServiceComb/service-center/server/core/backend/store/indexer.go:270 +0x10c fp=0xc062c25458 sp=0xc062c253b0 pc=0xd0dcdc
github.com/ServiceComb/service-center/server/core/backend/store.(*Indexer).deletePrefixKey(0xc04237c0c0, 0xc0420f64c0, 0x3d, 0xc0420f64c0, 0x3d)
C:/Users/m00307339/go/src/github.com/ServiceComb/service-center/server/core/backend/store/indexer.go:271 +0x14a fp=0xc062c25500 sp=0xc062c25458 pc=0xd0dd1a
The refresh should only happen if the user is browsing that page
there are some translation mistakes need to correct, for example:
i found i can not build the service-center binary from source code, first i encounter the flollowing errors:
../../coreos/etcd/clientv3/client.go:346: cannot use c.tokenCred (type *authTokenCredential) as type credentials.PerRPCCredentials in argument to grpc.WithPerRPCCredentials:
*authTokenCredential does not implement credentials.PerRPCCredentials (wrong type for GetRequestMetadata method)
have GetRequestMetadata("context".Context, ...string) (map[string]string, error)
want GetRequestMetadata("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, ...string) (map[string]string, error)
../../coreos/etcd/clientv3/client.go:421: cannot use client.balancer (type *healthBalancer) as type grpc.Balancer in argument to grpc.WithBalancer:
*healthBalancer does not implement grpc.Balancer (wrong type for Get method)
have Get("context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
want Get("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, grpc.BalancerGetOptions) (grpc.Address, func(), error)
../../coreos/etcd/clientv3/retry.go:147: cannot use retryKVClient literal (type *retryKVClient) as type etcdserverpb.KVClient in return argument:
*retryKVClient does not implement etcdserverpb.KVClient (wrong type for Compact method)
have Compact("context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
want Compact("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.CompactionRequest, ...grpc.CallOption) (*etcdserverpb.CompactionResponse, error)
../../coreos/etcd/clientv3/retry.go:200: cannot use retryLeaseClient literal (type *retryLeaseClient) as type etcdserverpb.LeaseClient in return argument:
*retryLeaseClient does not implement etcdserverpb.LeaseClient (wrong type for LeaseGrant method)
have LeaseGrant("context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
want LeaseGrant("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.LeaseGrantRequest, ...grpc.CallOption) (*etcdserverpb.LeaseGrantResponse, error)
../../coreos/etcd/clientv3/retry.go:254: cannot use retryClusterClient literal (type *retryClusterClient) as type etcdserverpb.ClusterClient in return argument:
*retryClusterClient does not implement etcdserverpb.ClusterClient (wrong type for MemberAdd method)
have MemberAdd("context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
want MemberAdd("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
../../coreos/etcd/clientv3/retry.go:299: cannot use retryMaintenanceClient literal (type *retryMaintenanceClient) as type etcdserverpb.MaintenanceClient in return argument:
*retryMaintenanceClient does not implement etcdserverpb.MaintenanceClient (wrong type for Alarm method)
have Alarm("context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
want Alarm("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AlarmRequest, ...grpc.CallOption) (*etcdserverpb.AlarmResponse, error)
../../coreos/etcd/clientv3/retry.go:368: cannot use retryAuthClient literal (type *retryAuthClient) as type etcdserverpb.AuthClient in return argument:
*retryAuthClient does not implement etcdserverpb.AuthClient (wrong type for AuthDisable method)
have AuthDisable("context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
want AuthDisable("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/auth_client_adapter.go:28: cannot use as2ac literal (type *as2ac) as type etcdserverpb.AuthClient in return argument:
*as2ac does not implement etcdserverpb.AuthClient (wrong type for AuthDisable method)
have AuthDisable("context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
want AuthDisable("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.AuthDisableRequest, ...grpc.CallOption) (*etcdserverpb.AuthDisableResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/chan_stream.go:151: cannot use srv (type *chanStream) as type grpc.Stream in field value:
*chanStream does not implement grpc.Stream (wrong type for Context method)
have Context() "context".Context
want Context() "github.com/coreos/etcd/vendor/golang.org/x/net/context".Context
../../coreos/etcd/proxy/grpcproxy/adapter/cluster_client_adapter.go:28: cannot use cls2clc literal (type *cls2clc) as type etcdserverpb.ClusterClient in return argument:
*cls2clc does not implement etcdserverpb.ClusterClient (wrong type for MemberAdd method)
have MemberAdd("context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
want MemberAdd("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *etcdserverpb.MemberAddRequest, ...grpc.CallOption) (*etcdserverpb.MemberAddResponse, error)
../../coreos/etcd/proxy/grpcproxy/adapter/election_client_adapter.go:28: cannot use es2ec literal (type *es2ec) as type v3electionpb.ElectionClient in return argument:
*es2ec does not implement v3electionpb.ElectionClient (wrong type for Campaign method)
have Campaign("context".Context, *v3electionpb.CampaignRequest, ...grpc.CallOption) (*v3electionpb.CampaignResponse, error)
want Campaign("github.com/coreos/etcd/vendor/golang.org/x/net/context".Context, *v3electionpb.CampaignRequest, ...grpc.CallOption) (*v3electionpb.CampaignResponse, error)
then i replace all "golang.org/x/net/context" to "context" except code in vendor dir, then run go build -o service-center
, but i still got many errors, such as:
server/core/proto/services.pb.go:3615: cannot use _ServiceCtrl_Exist_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3619: cannot use _ServiceCtrl_Create_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3623: cannot use _ServiceCtrl_Delete_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3627: cannot use _ServiceCtrl_GetOne_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3631: cannot use _ServiceCtrl_GetServices_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3635: cannot use _ServiceCtrl_UpdateProperties_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3639: cannot use _ServiceCtrl_AddRule_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3643: cannot use _ServiceCtrl_GetRule_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3647: cannot use _ServiceCtrl_UpdateRule_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3651: cannot use _ServiceCtrl_DeleteRule_Handler (type func(interface {}, "context".Context, func(interface {}) error, grpc.UnaryServerInterceptor) (interface {}, error)) as type grpc.methodHandler in field value
server/core/proto/services.pb.go:3651: too many errors
i wonder how to build the binary from service center source code? thanks!
hi:
昨天下了service-center的docker镜像,跑起来之后,访问:http://localhost:30100、提示Invalid Request URI,麻烦大神帮忙解答。
@asifdxtreme , we should adjust the order according to the business logic.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.