All Projects → pageuppeople-opensource → microservice-bootstrap

pageuppeople-opensource / microservice-bootstrap

Licence: other
Get started with Microservices using dotnet core

Programming Languages

C#
18002 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to microservice-bootstrap

Dotnetlabs
.NET Labs -- Show Me the Tips and Tricks and Code
Stars: ✭ 135 (+650%)
Mutual labels:  dotnetcore, container
Event Sourcing Castanha
An Event Sourcing service template with DDD, TDD and SOLID. It has High Cohesion and Loose Coupling, it's a good start for your next Microservice application.
Stars: ✭ 68 (+277.78%)
Mutual labels:  microservice, dotnetcore
silky
The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
Stars: ✭ 146 (+711.11%)
Mutual labels:  microservice, dotnetcore
Docker Series
Docker Series about containerizing ASP.NET Core app with MySQL..
Stars: ✭ 88 (+388.89%)
Mutual labels:  dotnetcore, container
Devspace
DevSpace - The Fastest Developer Tool for Kubernetes ⚡ Automate your deployment workflow with DevSpace and develop software directly inside Kubernetes.
Stars: ✭ 2,559 (+14116.67%)
Mutual labels:  microservice, container
Awesome Microservices Netcore
💎 A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core
Stars: ✭ 865 (+4705.56%)
Mutual labels:  microservice, dotnetcore
Hands On Microservices With Csharp 8 And .net Core 3 Third Edition
Hands-On Microservices with C# 8 and .NET Core 3, Third Edition, published by Packt
Stars: ✭ 46 (+155.56%)
Mutual labels:  microservice, dotnetcore
Pdf
Simple http microservice that converts Word documents to PDF
Stars: ✭ 107 (+494.44%)
Mutual labels:  microservice, container
Caldera
Caldera allows you to create a boilerplate service that ready to run inside the container (Go language)
Stars: ✭ 114 (+533.33%)
Mutual labels:  microservice, container
Dotnet Istanbul Microservices Demo
This is the demo application that i created for my talk 'Microservice Architecture & Implementation with Asp.Net Core' at Dotnet İstanbul Meetup Group.
Stars: ✭ 109 (+505.56%)
Mutual labels:  microservice, dotnetcore
rabbitmq-labs
The source code for my RabbitMQ tutorials.
Stars: ✭ 45 (+150%)
Mutual labels:  dotnetcore, worker-service
Helloworld Msa
Main repository with documentation and support files
Stars: ✭ 218 (+1111.11%)
Mutual labels:  microservice, container
HerokuContainer
Dockerized ASP.NET Core Web API app in Heroku
Stars: ✭ 26 (+44.44%)
Mutual labels:  dotnetcore, container
BuildAMation
Build system and project generator for C/C++ desktop software development. Uses C# for build scripts. It is no longer under active development.
Stars: ✭ 13 (-27.78%)
Mutual labels:  dotnetcore
travis-wait-enhanced
Prevent Travis CI from thinking a long-running process has stalled
Stars: ✭ 16 (-11.11%)
Mutual labels:  travis-ci
Hisar
🏰 Hisar: Cross-Platform Modular Component Development Infrastructure
Stars: ✭ 19 (+5.56%)
Mutual labels:  dotnetcore
imageup
🎑 ⬆️ A high speed image manipulation and storage microservice for Google Cloud Platform written in Go
Stars: ✭ 33 (+83.33%)
Mutual labels:  microservice
cgroupfs
Cgroupfs provides an emulated /proc/meminfo, /proc/cpuinfo... for containers
Stars: ✭ 28 (+55.56%)
Mutual labels:  container
game 01
Scalable MMORPG game server based on entity control
Stars: ✭ 19 (+5.56%)
Mutual labels:  microservice
rc-coffee-chats
A service that matches community members for chats
Stars: ✭ 16 (-11.11%)
Mutual labels:  microservice

Microservice Code Template Build Status

Upgraded to use dotnet core 2.0

A git repo that gives you a headstart on your own Microservice in Dotnet Core.

The intention is reduce the entry barrier in going with Microservices for .NET folks.

The repo will help you to bootstrap two kind of Microservices,

  • Web service
  • Worker service

This will help you have a head start with,

  1. Running a ASP.NET Microservice
  2. Containerizing your service with Docker
  3. Head start with CI / CD with Travis CI
  4. Consume basic Kinesis event data streams

Get Started

  1. Clone the repo
  2. Ensure you have Docker installed.
  3. Have Visual studio 2017 or any other dotnet compatible IDE handy
  4. Run docker-compose -f docker-compose.yml -f docker-compose.development.yml up -d from root folder of repo.
  5. Yay all up and running, Done!

What if I just want worker service?

  • Remove WebService & WebService.UnitTests projects from Visual Studio and delete the folder
  • Remove its references from docker compose file
  • Remove sections of travis yml referring to web service

What if I just want Web Service?

  • Remove WorkerService & WorkerService.UnitTests projects from Visual Studio and delete the folder.
  • Remove its references from docker compose file
  • Remove sections of travis yml referring to worker service

How to ensure it is all good

For Web service

$docker-compose ps
                Name                           Command          State            Ports
-----------------------------------------------------------------------------------------------
microservicebootstrap_webservice_1      dotnet run -c Release   Up      0.0.0.0:32769->4000/tcp
microservicebootstrap_workerservice_1   dotnet run -c Release   Up

Get the port number from above command and in a Bash terminal curl -i localhost:32769/healthcheck to see to web service running. Pat your own back!

Expected response

HTTP/1.1 200 OK
Date: Wed, 19 Jul 2017 01:57:31 GMT
Content-Length: 0
Server: Kestrel

For Worker service

Run docker-compose logs and see "Hello world" to confirm, your worker service is running. Pat your own back again!

Kinesis consumer for Worker service

Having a kinesis consumer for worker service is an work in progress. Current idea is to see if we can have kinesis consumer that can be injected into the worker service using something like @sbarski KinesisNet. @sbarski's repo does not support dotnet core but the version in this repo does. If you are intersested, please head over to #29.

Deployment (Need to ensure this is working.. work in progress..)

Uncomment the relevant lines in deploy.sh to get DC2-7 deployment running.

TODO

  1. include basic dependency injection
  2. Include code coverage & complexity metrics

Template idea

The service is designed in mind considering the Principles of Microservices as documented by Sam Newman.

It's a good video to watch, if you haven't already.

Principles of Microservices, by Sam Newman

Sam Newman's Principles of Microservices

Deployment story

The template provides way to package the service as Docker container and uses Travis CI for CI.

An option is to use Aws ECS / ECR to managing docker cluster and found it to be working (especially when your infra is hosted on aws).

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].