Giter VIP home page Giter VIP logo

discovery's Introduction

.NET Service Discovery & Registration

A Service Registry provides a database which applications can use in implementing the Service Discovery pattern; one of the key tenets of a micro-service based architecture. Trying to hand-configure each client of a service or adopt some form of access convention can be difficult and prove to be brittle in production. Instead, your applications can use a Service Registry to dynamically discover and call registered services.

There are several popular options for Service Registries. Netflix built and then open-sourced their own service registry, Eureka. Another relatively new, but increasingly popular option is Consul.

This repository contains various packages for interacting with Service Registries.

Windows Master: AppVeyor Master

Windows Dev: AppVeyor Dev

Linux/OS X Master: Travis Master

Linux/OSX Dev: Travis Dev

.NET Runtime & Framework Support

The packages are intended to support both .NET 4.6.1+ and .NET Core (CoreCLR/CoreFX) run-times. They are built and unit tested on Windows, Linux and OSX.

While the primary usage of the providers is intended to be with ASP.NET Core applications, they should also work fine with UWP, Console and ASP.NET 4.x apps.

Currently all of the code and samples have been tested on .NET Core 2.0, .NET 4.6.x, and on ASP.NET Core 2.0.0.

Usage

For more information on how to use these components see the online Steeltoe documentation.

Nuget Feeds

All new development is done on the dev branch. More stable versions of the packages can be found on the master branch. The latest prebuilt packages from each branch can be found on one of two MyGet feeds. Released version can be found on nuget.org.

Development feed (Less Stable) - https://www.myget.org/gallery/steeltoedev

Master feed (Stable) - https://www.myget.org/gallery/steeltoemaster

Release or Release Candidate feed - https://www.nuget.org/.

Building Pre-requisites

To build and run the unit tests:

  1. .NET Core SDK 2.0.3 or greater
  2. .NET Core Runtime 2.0.3

Building Packages & Running Tests - Windows

To build the packages on windows:

  1. git clone ...
  2. cd clone directory
  3. cd src/project (e.g. cd src/Steeltoe.Discovery.EurekaBase)
  4. dotnet restore
  5. dotnet pack --configuration Release or Debug

The resulting artifacts can be found in the bin folder under the corresponding project. (e.g. src/Steeltoe.Discovery.EurekaBase/bin

To run the unit tests:

  1. git clone ...
  2. cd clone directory
  3. cd test/test project (e.g. cd test/Steeltoe.Discovery.ClientCore.Test)
  4. dotnet restore
  5. dotnet xunit -verbose

Building Packages & Running Tests - Linux/OSX

To build the packages on Linux/OSX:

  1. git clone ...
  2. cd clone directory
  3. cd src/project (e.g.. cd src/Steeltoe.Discovery.ClientCore)
  4. dotnet restore
  5. dotnet pack --configuration Release or Debug

The resulting artifacts can be found in the bin folder under the corresponding project. (e.g. src/Steeltoe.Discovery.ClientCore/bin

To run the unit tests:

  1. git clone ...
  2. cd clone directory
  3. cd test/test project (e.g. cd test/Steeltoe.Discovery.ClientCore.Test)
  4. dotnet restore test
  5. dotnet xunit -verbose -framework netcoreapp2.0

Sample Applications

See the Samples repository for examples of how to use these packages.

discovery's People

Contributors

anvar-ramazanov avatar dgodd avatar dtillman avatar jkonicki avatar mavenraven avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.