Deployment
smpp-kafka-producer can be deployed standalone, with Docker, or on Kubernetes.
Standalone
Docker
Run Container
docker run -d \
--name smpp-producer \
-p 2775:2775 \
-p 8080:8080 \
-p 9090:9090 \
-e KAFKA_BROKERS=kafka:9092 \
smpp-kafka-producer:latest
Docker Compose
version: '3.8'
services:
smpp-producer:
image: smpp-kafka-producer:latest
ports:
- "2775:2775"
- "8080:8080"
- "9090:9090"
environment:
- KAFKA_BROKERS=kafka:9092
- KAFKA_TOPIC=TR_SMPP
depends_on:
- kafka
kafka:
image: confluentinc/cp-kafka:7.5.0
ports:
- "9092:9092"
environment:
KAFKA_BROKER_ID: 1
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092
Kubernetes
Deployment Manifest
apiVersion: apps/v1
kind: Deployment
metadata:
name: smpp-producer
namespace: smpp-producer
spec:
replicas: 2
selector:
matchLabels:
app: smpp-producer
template:
spec:
containers:
- name: smpp-producer
image: smpp-kafka-producer:latest
ports:
- containerPort: 2775
name: smpp
- containerPort: 8080
name: http
- containerPort: 9090
name: metrics
resources:
requests:
memory: "512Mi"
cpu: "500m"
limits:
memory: "2Gi"
cpu: "2000m"
livenessProbe:
httpGet:
path: /health/live
port: 8080
initialDelaySeconds: 30
readinessProbe:
httpGet:
path: /health/ready
port: 8080
initialDelaySeconds: 10