All Projects → sharma-rohit → distributed-cache-on-k8s-poc

sharma-rohit / distributed-cache-on-k8s-poc

Licence: MIT license
[PoC] Distributed Cache with Akka Cluster Sharding and Akka HTTP on Kubernetes

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to distributed-cache-on-k8s-poc

akka-cluster-sample
A sample Akka Cluster application that uses ZooKeeper for service discovery
Stars: ✭ 13 (-13.33%)
Mutual labels:  akka-cluster, akka-cluster-sharding
akka-cookbook
提供清晰、实用的Akka应用指导
Stars: ✭ 30 (+100%)
Mutual labels:  akka-http, akka-cluster
khermes
A distributed fake data generator based in Akka.
Stars: ✭ 94 (+526.67%)
Mutual labels:  akka-http, akka-cluster
Es Cqrs Shopping Cart
A resilient and scalable shopping cart system designed using Event Sourcing (ES) and Command Query Responsibility Segregation (CQRS)
Stars: ✭ 19 (+26.67%)
Mutual labels:  akka-http
Chronicler
Scala toolchain for InfluxDB
Stars: ✭ 24 (+60%)
Mutual labels:  akka-http
Akka Http Scalajs.g8
Giter8 template to get started with Akka HTTP and Scala.js.
Stars: ✭ 105 (+600%)
Mutual labels:  akka-http
Akka Http Cors
Akka Http directives implementing the CORS specifications defined by W3C
Stars: ✭ 234 (+1460%)
Mutual labels:  akka-http
Tapir
tapir, or Typed API descRiptions
Stars: ✭ 677 (+4413.33%)
Mutual labels:  akka-http
Remora
Kafka consumer lag-checking application for monitoring, written in Scala and Akka HTTP; a wrap around the Kafka consumer group command. Integrations with Cloudwatch and Datadog. Authentication recently added
Stars: ✭ 183 (+1120%)
Mutual labels:  akka-http
Squbs
Akka Streams & Akka HTTP for Large-Scale Production Deployments
Stars: ✭ 1,365 (+9000%)
Mutual labels:  akka-http
Scala Ddd Example
🎯 λ Hexagonal Architecture + DDD + CQRS applied in Scala using Akka HTTP
Stars: ✭ 86 (+473.33%)
Mutual labels:  akka-http
Spark As Service Using Embedded Server
This application comes as Spark2.1-as-Service-Provider using an embedded, Reactive-Streams-based, fully asynchronous HTTP server
Stars: ✭ 46 (+206.67%)
Mutual labels:  akka-http
Kebs
Scala library to eliminate boilerplate
Stars: ✭ 113 (+653.33%)
Mutual labels:  akka-http
Scale
Another example of a REST API with Akka HTTP
Stars: ✭ 23 (+53.33%)
Mutual labels:  akka-http
Kafka Streams Scala
Thin Scala wrapper around Kafka Streams Java API
Stars: ✭ 192 (+1180%)
Mutual labels:  akka-http
Akka Http Microservice
Example of http (micro)service in Scala & akka-http
Stars: ✭ 701 (+4573.33%)
Mutual labels:  akka-http
Otoroshi
Lightweight api management on top of a modern http reverse proxy
Stars: ✭ 177 (+1080%)
Mutual labels:  akka-http
Swagger Akka Http Sample
Sample demonstrating use of swagger-akka-http
Stars: ✭ 79 (+426.67%)
Mutual labels:  akka-http
Akka Http
The Streaming-first HTTP server/module of Akka
Stars: ✭ 1,163 (+7653.33%)
Mutual labels:  akka-http
Akka Http Quickstart Scala.g8
Stars: ✭ 103 (+586.67%)
Mutual labels:  akka-http

distributed-cache-on-k8s-poc

[PoC] Distributed Cache with Akka Cluster Sharding and Akka HTTP on Kubernetes

Running it locally (On Mac) with docker images from local registry

git clone https://github.com/sharma-rohit/distributed-cache-on-k8s-poc.git

  1. Install minikube: brew cask install minikube

  2. Inatall kubectl: brew install kubectl

  3. Start minikube with --insecure-registry option:

    minikube start --insecure-registry localhost:5000

  4. Setup minikube Ingress controller:

    minikube addons enable ingress

  5. To make the local docker command use the minikube vm as docker host and all commands starting with docker affecting the minikube vm not the host computer run:

    eval $(minikube docker-env)

  6. docker run -d -p 5000:5000 --restart=always --name registry -v /data/docker-registry:/var/lib/registry registry:2

  7. To build and publish docker image to local registry of minikube run:

    sbt docker:publish

  8. Create kubernetes manifests:

    kubectl create -f kubernetes/statefulset.yaml

    kubectl apply -f kubernetes/service.yaml

    kubectl apply -f kubernetes/headless_service.yaml

    kubectl apply -f kubernetes/ingress.yaml

  9. To redirect traffic from the domain "distributed-cache.com" stated in ingress.yaml to our minikube cluster run:

    echo "$(minikube ip) distributed-cache.com" | sudo tee -a /etc/hosts

Check if it's working:

curl -v distributed-cache.com/cache-data/2055e73f-7db8-49ce-9eb6-3f9d80525284

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].