Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🍹 Microservices built using Docker, Kubernetes, Apache Kafka, NATS Streaming Server, TypeScript, Node.JS, Express, React, Redux, Next.js, MongoDB, Mongoose, Event Driven, Pub-Sub, CI/CD, Skaffold etc.

License

NotificationsYou must be signed in to change notification settings

aditya43/microservices-applications

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🍹 Technologies: TypeScript, Node.JS, Express, React, Redux, Next.js, MongoDB, Mongoose, Event Driven, Pub-Sub, Docker, Kubernetes, CI/CD, Skaffold, Apache Kafka, NATS Streaming Server etc.

Author

Aditya Hajare (Linkedin).

Current Status

WIP (Work In Progress)!

License

Open-sourced software licensed under theMIT license.


Notes

+ Why Database Per-Service
  • We want each service to run independently of other services.
  • Database schema/structure might change unexpectedly.
  • Some services might function efficiently with different types of DB's (SQL vs. NoSQL).

+ Communication Strategies Between Services
  • Sync: Services communicate with each other using direct requests.
    • Conceptually easy to understand.
    • Service won't need a database.
    • Introduces a dependency between services.
    • If any inter-service request failes, the entire service fails.
    • The entire request is only as fast as the slowest request.
    • Can easily introduce webs of requests.
  • Async (Event Based Communication): Services communicate with each other usingevents.
    • No inter-service dependency.
    • Service will be extremely fast since it has it's own data store.
    • Introduces data duplication. Paying for extra storage + extra DB.
    • Harder to understand.

+ Event Bus
  • Many different implementations. For e.g.RabbitMQ,Kafka,NATS etc..
  • Receives events, publishes them to listeners.
  • Many different subtle features that make async communication way easier or way harder.

+ Kubernetes Basic Terminologies
  • Cluster: A collection ofnodes + amaster to manage them.
  • Node: Avirtual machine that runs ourcontainers.
  • Pod: More or less a running container. Technically, apod can run multiple containers.
  • Deployment: Monitors aset of pods. Make sure they are running and restarts them if they crash.
  • Service: Provides aneasy-to-remember URL to access a runningcontainer.

+ Kubernetes Config Files
  • Tells Kubernetes about the different Deployments, Pods and Services (Referred to asObjects) that we want to create.
  • Written inYAML syntax.
  • Always store these files with our project source code - they are documentation!
  • We can createObjects without config files -DO NOT DO THIS!. Config files provide a precise definition of what our cluster is running.

+ Securely Create Secrets In Kubernetes
  • Following command will create a secret calledJWT_KEY:
kubectl create secret generic jwt-secret --from-literal=JWT_KEY=adityahajare

About

🍹 Microservices built using Docker, Kubernetes, Apache Kafka, NATS Streaming Server, TypeScript, Node.JS, Express, React, Redux, Next.js, MongoDB, Mongoose, Event Driven, Pub-Sub, CI/CD, Skaffold etc.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp