Sign inSign up

atlasplatformdocker/streaming-proto-server-host

By atlasplatformdocker

Updated 2 months ago

Image
0

1.8K

atlasplatformdocker/streaming-proto-server-host repository overview

  • 1.3.4.34-ci (Added session details support and tracing information)
    • docker pull mclarenapplied/streaming-proto-server-host:1.3.4.34-ci
  • 1.3.3.26 (Added support for error packets and raw CAN data)
    • docker pull mclarenapplied/streaming-proto-server-host:1.3.3.26
  • 1.0.2.18 (Fixes for admin access issue)
    • docker pull mclarenapplied/streaming-proto-server-host:1.0.2.18
  • 1.0.2 (Fixes for Stream API)
    • docker pull mclarenapplied/streaming-proto-server-host:1.0.2.1
  • 1.0.0 (Initial release)
    • docker pull mclarenapplied/streaming-proto-server-host:1.0.0.2

About

This image is part of the Stream API. It contains the essential services used to stream data in the MA Open Data Format defined as part of the MA Stream Protocol. It contains services for connection management, data reading, data writing, session management and data format management, all exposed via gRPC server interfaces.

Usage

For how to use the Stream API, please see the documentation page here and Sample Code

To use the Stream API Server Docker image, use the following Docker Compose :

Docker Compose
services:  
  zookeeper:
    image: confluentinc/cp-zookeeper:latest    
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000
    ports:
      - 12181:2181
    
  kafka:
    image: confluentinc/cp-kafka:latest
    depends_on:
      - zookeeper 
    ports:
      - 9092:9092    
      - 9094:9094    
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9093,PLAINTEXT_HOST://kafka:9092,PLAINTEXT_LOCAL_HOST://localhost:9094
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT,PLAINTEXT_LOCAL_HOST:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1

  key-generator-service:
    image: mclarenapplied/keygenerator-proto-server:latest
    ports:    
      - 15379:15379
    environment:
      PORT: 15379

  stream-api-server:
    image: mclarenapplied/streaming-proto-server-host:latest
    ports:
      - 13579:13579
      - 10010:10010

    depends_on:
      - kafka
      - key-generator-service
    restart: always
    environment:     
      CONFIG_PATH: /Configs/AppConfig.json
      AUTO_START: true
    volumes:
      - ./Configs:/app/Configs 

The Kafka and Zookeper containers does not have to be in the same Docker Compose as the Stream API Server. They can be deployed standalone or on a seperate machine if it is required.

AppConfig.json

This json configures the Stream API Server and a sample json can look like this:

{
  "StreamCreationStrategy": 1,
  "BrokerUrl": "kafka:9092",
  "PartitionMappings": [
    {
      "Stream": "Stream1",
      "Partition": 1
    },
    {
      "Stream": "Stream2",
      "Partition": 2
    }
  ],
  "StreamApiPort": 13579,
  "IntegrateSessionManagement": true,
  "IntegrateDataFormatManagement": true,
  "UseRemoteKeyGenerator": true,
  "RemoteKeyGeneratorServiceAddress": "key-generator-service:15379",
  "BatchingResponses": false,
  "PrometheusMetricPort": 10010
}

Place this AppConfig.json in the config folder path that is set on the Stream API container volume. For more info on all possible configurations, see here

License

Usage of this library is permitted under the Apache 2.0 terms.

Tag summary

Content type

Image

Digest

sha256:d16168ee3

Size

130.7 MB

Last updated

2 months ago

docker pull atlasplatformdocker/streaming-proto-server-host