lvermeulen / nanophone Goto Github PK
View Code? Open in Web Editor NEWNanophone is a minimalistic library for Service Registration and Discovery and is the driving force behind the Equalizer middleware for aspnetcore.
License: MIT License
Nanophone is a minimalistic library for Service Registration and Discovery and is the driving force behind the Equalizer middleware for aspnetcore.
License: MIT License
How would I use this in 4.5-4.6 environment? I understand wanting to work with the latest, but some working samples in 4.5-4.6 would be great. I can't imagine many people have the option to be deploying dotnetcore apps in the near future.
The sample for Nancy isn't actually Nancy.
GrpC already supports. NET core, looking forward to Nanophone can increase support for grpC framework
From feature request at consuldotnet
Just added Nanophone into a 4.5.2 project (which should work according to the nupkg). I think it installed the lib\4.5 dll, but it gives this error in Visual Studio
Decompiling the DLL with IL spy shows
[assembly: TargetFramework(".NETFramework,Version=v4.6.1", FrameworkDisplayName = ".NET Framework 4.6.1")]
I presume this is just a build error, but as an aside - please continue to support the oldest possible framework that's practicable (4.5.xxx) - some of us work in environments with legacy code and OS and .Net installations and customers who simply can't upgrade to the latest and greatest at a whim!
Consul times out either waiting for headers or waiting for a connection.
Health check uri works from browser
Kestrel host.
Nancy net46 works fine.
Web Api health check in Kestrel works fine, difference is chunked transfer-encoding in WebApi,
Possible Nancy 2.0.0-barney-rubble 2.0.0.Pre-1774 issue?
Logged as Nancy issue
Hi there,
Now that .NET Core RTM has been released, are there any plans to update this project to support it? Thanks.
Figure out what changed in assembly discovery
Branch feature/vnext
Add support for eBay fabio
Use semantic versioning to find service instances by version.
This is more to ask for guidance than a bug report. I made a very simple WebAPI service and registered it using Nanophone, which succeeded, but Consul booted it out of the cluster, I think because it did not implement any sort of health check.
It's probably a good idea to have a health check of course, but I was wondering if you had any thoughts on this? Microphone seems to register a default health check. This is all new to me so I don't know what best practice is yet, but the "getting started" story needs to be as simple as possible.
Here is the consul log FWIW
2016/07/20 11:19:31 [INFO] agent: Synced service 'consul'
==> Failed to check for updates: Get https://checkpoint-api.hashicorp.com/v1/check/consul?arch=amd64&os=windows&signature=&version=0.6.4: dial tcp 54.221.230.67:443: connectex: No connection could be made because the target machine actively refused it.
2016/07/20 11:21:02 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:25 [WARN] Service tag "version-1.0" will not be discoverable via DNS due to invalid characters. Valid characters include all alpha-numerics and dashes.
2016/07/20 11:22:25 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:25 [INFO] agent: Synced service 'case-id_localhost_9000'
2016/07/20 11:22:25 [DEBUG] agent: Check 'service:case-id_localhost_9000' in sync
2016/07/20 11:22:25 [DEBUG] http: Request PUT /v1/agent/service/register (2ms) from=127.0.0.1:56229
2016/07/20 11:22:25 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:25 [DEBUG] agent: Service 'case-id_localhost_9000' in sync
2016/07/20 11:22:25 [DEBUG] agent: Check 'service:case-id_localhost_9000' in sync
2016/07/20 11:22:25 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:25 [DEBUG] agent: Service 'case-id_localhost_9000' in sync
2016/07/20 11:22:25 [DEBUG] agent: Check 'service:case-id_localhost_9000' in sync
2016/07/20 11:22:25 [DEBUG] agent: pausing 273.409331ms before first HTTP request of http://localhost:9000//status
2016/07/20 11:22:27 [WARN] agent: http request failed 'http://localhost:9000//status': Get http://localhost:9000//status: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
2016/07/20 11:22:28 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:29 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:30 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:31 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:32 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:33 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:34 [WARN] agent: check 'service:case-id_localhost_9000' is now critical
2016/07/20 11:22:35 [DEBUG] http: Request GET /v1/health/state/critical (0) from=127.0.0.1:56229
2016/07/20 11:22:35 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:35 [INFO] agent: Deregistered service 'case-id_localhost_9000'
2016/07/20 11:22:35 [INFO] agent: Deregistered check 'service:case-id_localhost_9000'
2016/07/20 11:22:35 [DEBUG] http: Request PUT /v1/agent/service/deregister/case-id_localhost_9000 (999.2µs) from=127.0.0.1:56229
2016/07/20 11:22:35 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:35 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:37 [DEBUG] agent: Service 'consul' in sync
2016/07/20 11:22:40 [DEBUG] http: Request GET /v1/health/state/critical (0) from=127.0.0.1:56229
Make sure not to kill system services
From fabio source code
Values don't always come out the way they should
Hello!
Thank you for your work!
I have a small issue:
Then i request services via FindServiceInstancesAsync, property tag of the RegistryInformation is always null.
How i can fill this property ?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.