Microservice Implementer's Cheatsheet

So you want to contribute an implementation of the KillrVideo microservices tier? Great! This cheatsheet can serve as a guide to help you get started down that path. If you haven't already, we highly suggest that before you start, you make sure and read through the general guides available in the Documentation. Those guides will walk you through some of the high-level architecture of KillrVideo, as well as explain some of the things you'll be implementing in more detail.

Once you've done that, here are some steps to get you started with the implementation.

  1. Setup the Git Repo: Create a new Git repo, add the initial commit, and then pull in the common KillrVideo project dependencies as Git subtrees.
  2. Setup Docker Environment: Setup your development environment with all the other infrastructure and projects it needs (for example, one node of DSE) using Docker Compose.
  3. Generate Service Code: Use the .proto files to generate client and server code stubs with the gRPC plugin for the Protobuf compiler.
  4. Connect to DataStax Enterprise: Use the KILLRVIDEO_DSE_CONTACT_POINTS environment variable to locate the address of one or more DSE nodes in the cluster and connect to it. In the default Docker configuration provided, the single node will be resolvable as dse.
  5. Implement the Services: Write the interesting code that implements the services.
  6. Add Pub-Sub-Messaging: We use events for service collaboration in KillrVideo so you're going to need to implement some pub-sub messaging.
  7. Use the Web Tier: The web tier has the UI for KillrVideo and makes calls to your services. You'll need to use it (and its logs) to try out your service implementations.
  8. Generate Sample Data: It's a lot easier to use the UI when you have some sample data in the system. Luckily, there's an app for that and it's probably already running.