Giter VIP home page Giter VIP logo

est-water-api's Introduction

Ozon Marketplace Est Water API


Build project

Local

For local assembly you need to perform

$ make deps # Installation of dependencies
$ make build # Build project

Running

For local development

$ docker-compose up -d

Services

Swagger UI

The Swagger UI is an open source project to visually render documentation for an API defined with the OpenAPI (Swagger) Specification

Grafana:

gRPC:

[I] ➜ grpc_cli call localhost:8082 DescribeWaterV1 "id: 1"
connecting to localhost:8082
Rpc failed with status code 5, error message: water not found

Gateway:

It reads protobuf service definitions and generates a reverse-proxy server which translates a RESTful HTTP API into gRPC

[I] ➜ curl -s -X 'POST' \
  'http://localhost:8083/v1/waters' \
  -H 'accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "id": "1"
}' | jq .
{
  "code": 5,
  "message": "water not found",
  "details": []
}

Metrics:

Metrics GRPC Server

Status:

Service condition and its information

  • http://localhost:8000
    • /live- Layed whether the server is running
    • /ready - Is it ready to accept requests
    • /version - Version and assembly information

Prometheus:

Prometheus is an open-source systems monitoring and alerting toolkit

Kafka

Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications.

Kafka UI

UI for Apache Kafka is a simple tool that makes your data flows observable, helps find and troubleshoot issues faster and deliver optimal performance. Its lightweight dashboard makes it easy to track key metrics of your Kafka clusters - Brokers, Topics, Partitions, Production, and Consumption.

Jaeger UI

Monitor and troubleshoot transactions in complex distributed systems.

Graylog

Graylog is a leading centralized log management solution for capturing, storing, and enabling real-time analysis of terabytes of machine data.

PostgreSQL

For the convenience of working with the database, you can use the pgcli utility. Migrations are rolled out when the service starts. migrations are located in the ./migrations directory and are created using the goose tool.

$ pgcli "postgresql://docker:docker@localhost:5432/est_water_api"

Python client

$ pip3 install --index-url http://localhost:8084/simple/ grpc-est-water-api
$ python -m venv .venv
$ . .venv/bin/activate
$ make deps
$ make generate
$ cd pypkg/est-water-api
$ python setup.py install
$ cd ../..
$ docker-compose up -d
$ python scripts/grpc_client.py

Thanks

est-water-api's People

Contributors

sparknsk avatar rusdevops avatar vyacheslav-ozon avatar volga avatar arttet avatar karobokk avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.