Add health checks to Node.js services (#26)

* Move Node healthchecks to gRPC

* gitignore proto files

* Switch to standard health RPC

* Fix lint

* Update client.js

* Add protos back + update them

* node services: fix & run genproto.sh

this gets currencyservice to work but paymentservice is still crashing
in the docker container.

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>

* Fix docker breaking

* update dockerfiles with released health probe

Signed-off-by: Ahmet Alp Balkan <ahmetb@google.com>
This commit is contained in:
Ace Nassri 2018-09-19 12:35:22 -07:00 committed by Ahmet Alp Balkan
parent 360d983512
commit 6c37a96f3a
18 changed files with 313 additions and 109 deletions

View file

@ -108,9 +108,9 @@ message ShipOrderResponse {
}
message Address {
string street_address_1 = 1;
string street_address_2 = 2;
string city= 3;
string street_address = 1;
string city = 2;
string state = 3;
string country = 4;
int32 zip_code = 5;
}
@ -202,21 +202,9 @@ message SendOrderConfirmationRequest {
// -------------Checkout service-----------------
service CheckoutService {
rpc CreateOrder(CreateOrderRequest) returns (CreateOrderResponse) {}
rpc PlaceOrder(PlaceOrderRequest) returns (PlaceOrderResponse) {}
}
message CreateOrderRequest {
string user_id = 1;
string user_currency = 2;
Address address = 3;
}
message CreateOrderResponse {
repeated OrderItem items = 1;
Money shipping_cost = 2;
}
message PlaceOrderRequest {
string user_id = 1;
string user_currency = 2;
@ -229,3 +217,26 @@ message PlaceOrderRequest {
message PlaceOrderResponse {
OrderResult order = 1;
}
// ------------Ads service------------------
service AdsService {
rpc GetAds(AdsRequest) returns (AdsResponse) {}
}
message AdsRequest {
// List of important key words from the current page describing the context.
repeated string context_keys = 1;
}
message AdsResponse {
repeated Ad ads = 1;
}
message Ad {
// url to redirect to when an ad is clicked.
string redirect_url = 1;
// short advertisement text to display.
string text = 2;
}

View file

@ -0,0 +1,43 @@
// Copyright 2015 The gRPC Authors
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
// The canonical version of this proto can be found at
// https://github.com/grpc/grpc-proto/blob/master/grpc/health/v1/health.proto
syntax = "proto3";
package grpc.health.v1;
option csharp_namespace = "Grpc.Health.V1";
option go_package = "google.golang.org/grpc/health/grpc_health_v1";
option java_multiple_files = true;
option java_outer_classname = "HealthProto";
option java_package = "io.grpc.health.v1";
message HealthCheckRequest {
string service = 1;
}
message HealthCheckResponse {
enum ServingStatus {
UNKNOWN = 0;
SERVING = 1;
NOT_SERVING = 2;
}
ServingStatus status = 1;
}
service Health {
rpc Check(HealthCheckRequest) returns (HealthCheckResponse);
}