Pip.Services Toolkit for .NET

Modules

Commons

Provides a set of tools used in microservices or backend services, and it is designed to facilitate symmetric implementation accross different programming languages.

Components

Contains standard component definitions that can be used to build applications and services.

Container

Provides an inversion-of-control (IoC) container used to facilitate the development of services and applications composed of loosely coupled components.

Data

Contains generic interfaces for data access components as well as abstract implementations for in-memory and file persistence.

RPC

Provides synchronous communication using local calls or the HTTP(S) protocol. It contains both server and client side implementations.

gRPC

This module is used to organize synchronous data exchange using calls through the gRPC protocol. It has implementations of both, the server and client parts.

Messaging

A set of interfaces and classes for working with message queues, as well as an in-memory message queue implementation.

Expressions

Provides syntax and lexical analyzers, and an expression calculator optimized for repeated calculations.

AWS

Components for supporting work with the AWS cloud platform.

Azure

Contains packages used to create containers and services that do operations via the Azure Function protocol.

DataDog

Contains a DataDog logger and performance counters components.

ElasticSearch

Contains packages used to create Elasticsearch components, including logging components with data storage on the Elasticsearch server.

GCP

Contains packages used to create containers and services that do operations via the Google Function protocol.

Kafka

A set of components for messaging using the Kafka protocol.

Memcached

MemcachedLock and MemcachedCache for working with locks and cache on the Memcached server.

MongoDB

A set of components used to implement MongoDB persistence.

MQTT

A set of components for messaging using the Mqtt protocol.

MySQL

Contains components used to implement MySQL persistence.

NATS

A set of components for working with message queues via a NATS server https://nats.io/.

Postgres

A set of components used to implement PostgreSQL persistence.

Prometheus

Components for working with meters in the Prometheus service. The PrometheusCounters and PrometheusMetricsService components allow you to work both, in client mode through PushGateway and as a service.

RabbitMQ

The RabbitMQ module contains a set of components for working with the message queue in RabbitMQ through the AMQP protocol.

Redis

Contains packages for working with Redis dataases of type key-value.

SQLServer

A set of components to implement SQLServer persistence.

Swagger

Provides a Swagger UI that can be added into microservices and is seamlessly integrated with existing REST and Commandable HTTP.