Microservice Messaging Choices [closed] - c#

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about a specific programming problem, a software algorithm, or software tools primarily used by programmers. If you believe the question would be on-topic on another Stack Exchange site, you can leave a comment to explain where the question may be able to be answered.
Closed 5 years ago.
Improve this question
I am new to microservices, but I'd like to know what the best way to handle communication is.
I've looked into some solutions, but like to know your opinion what todo :
My microservices are hosted on azure atm and I call them with REST services,
but...
I want that the services cannot be called from anybody except from other services as I have a facade API for external apps.
I've looked into Servicebus, Eventhubs, REST , WCF, SQL with RabbitMQ, but I have no idea what is the fastest messaging service.
I prefer speed and stability over everything ,high complexityis not a problem.
Does anybody have advice on this?
Thank you in advance

I'd suggest RabbitMQ, it's easy to get started in C#, you can use the MQTT protocol or AMQP.
If you decide to use a different broker this is quite easy to update, minimal code changes are generally needed.
Both give you a lot of functionality without a lot of code.
It's possible to test clients with various online brokers, though I wouldn't use them necessarily for production.
For C# clients have a look at
https://m2mqtt.wordpress.com/
http://www.rabbitmq.com/dotnet.html

Related

Best Azure service for app with custom HttpListener [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 7 years ago.
Improve this question
I have own relative complex app which implement own http server via HttpListener. Currently I looking for best way to deploy to Azure. But I ‘am new in Azure, so I don’t know which service is best for my app.
What I need:
Continued running (long start time)
Support for minimal Http interface via HttpListener (I really doesn’t need MVC WebApi)
I will be happy if it will be easy deployment (automatization with VSO)
Also i don't need to much mantain pure VM :)
From my research I think best will be WebJob but on some article I read it's for "RSS aggregation, File maintenance, such as aggregating or cleaning up log files etc.." And it's not look like best solution for relative complex app.
You can deploy this as a standard web app. Web apps support the full .net 4.6 stack so will run HTTPListener quite happily.
You can enable Always On to ensure that your site is kept active. You can do this from Application Settings within the Portal. (it can also be scripted)
Indicates that your web app needs to be loaded at all times. By default, web apps are unloaded after they have been idle. It is recommended that you enable this option when you have continuous web jobs running on the web app.
There is a good, though old now! article by Scott Guthrie at Microsoft that might be useful.

Should SignalR can be considered to build enterprise chat platform with given criteria? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 8 years ago.
Improve this question
As I want to build the enterprise chat platform where user can talk with each-other real time. Being a Microsoft .Net developer, I am aware about 'SignalR' which can help me on 'realtime' communication implementation part.
So, considering 'SignalR', I want to know that- Is 'SignalR' really good to build enterprise chat platform. I want to know that- Is SignalR is the right choice for this scope?
I am envisioning following things with enterprise chat platform.
60,000 concurrent request of chats (Considering 1 line chat as a single http request)
15,000 users
I need to know following things with respect of 'SingnalR' usage to build chat platform.
Can Singnal is efficient to bare the load of these much request?
How about the security consideration with SinglalR?
I also need to provide same chat platform on leading Mobile OS. (E.g. iOS, Android and Windows Phone)
Can I use SingalR if my client want to chat on older browsers?
Can I easily scale chat platform with SingnalR in future?
How about the future with SignalR? Because it would be difficult job change the chat platform that needs to re-written in another tool after 10-15 years later.
If NOT SingnalR, then what would be the other options?
Would anybody please do let know if SignalR is the right choice OR not in this case?
Thanks in advance!
Short answer: Yes.
I have SignalR in multiple projects with medium to high load(highest load I've seen is just over 80k messages within a matter of seconds) during testing I have seen much higher loads and SignalR always coped just fine.
Also wort noting that Jabbr(http://about.jabbr.net/) is built on SignalR and they have much higher loads than I will ever see.

C# RESTful Framework, not based on WCF [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
Questions asking us to recommend or find a tool, library or favorite off-site resource are off-topic for Stack Overflow as they tend to attract opinionated answers and spam. Instead, describe the problem and what has been done so far to solve it.
Closed 8 years ago.
Improve this question
I'am looking for C# RESTful framework (best with json support), which is not based on WCF in any way. WCF requires me to create namespace reservations, and this is thing i'd like to avoid (i already tried Nancy). The thing is target PCs for my service are older Windows XP machines, where are registering tools missing (netsh has no http context).
Can anyone suggest me good solution?
Take a look here. it's really only an issue if you have a self hosted WCF service running along side IIS. Other then that, if you run inside IIS, you are the only thing listening to port 80, or you are listening to a different port, then you dont care about URL registration. you can also redirect the request from IIS to a different port on the same machine.
personally I really prefer WCF to all other and currently more popular alternatives, it gives you the best flexibility , and although it has a pretty significant learning curve, once you are "on top of the curve" gives you, in my opinion, the best "features developed / time invested" ratio
Excluding WCF, I think your best solution is this (as doan commented):ASP.Net Web Api combined with this (another site ) which is an open source project that microsoft pretty much adopted, and its all shown here
bare links:
http://msdn.microsoft.com/en-us/library/ms733768%28v=vs.110%29.aspx
http://www.asp.net/web-api
http://json.codeplex.com/
http://james.newtonking.com/json
http://www.asp.net/web-api/overview/formats-and-model-binding/json-and-xml-serialization

Good 3270 Emulator (.NET) [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
Can anyone indicate a good 3270 emulator (which can login, scrape screen, find text, send keys etc. in background) for .NET (win and web). Something very similar to http://www.zephyrcorp.com/legacy-integration/index.htm (apparently zephyr costs like $5k per year, which is quite a lot, for one PC).
I also tried http://open3270.codeplex.com/SourceControl/list/changesets but it's way old and buggy.
Attachmate Reflection is really good, it meets all the requirements you mentioned and it has a great .NET API you can use to easily automate it from your .NET code. They don't list prices on their website but I think it is under $300...
For Desktop: I liked the idea of using a stable and well known client and remote control this instance. Therefore I ended up using x3270 (http://x3270.bgp.nu/) as the full featured, mature client in combination with X3270.Rest (https://www.nuget.org/packages/X3270.Rest/) that let's you remote control it from within a .NET application via the exposed REST interface (http://x3270.bgp.nu/rest.html). Reimplementing a complete new .NET client was not really an option because of all the alternatives out there. All those pitfalls on the road that lead to an reinvented wheel... But with an appropriate interface like the one mentioned it was quite easy to automate tasks without using DDE/HLLAPI.
If running in the background means without visible window one could start the x3270 client from .NET via Process.Start with suitable arguments to avoid a window beeing created.

Observing multiple windows services [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 4 years ago.
Improve this question
I would like input on the design I currently have planned.
Basically, I have some number of external instrumentation, each of which should always be running, collecting specific data. My thought was to create a service for each, always running and polling the instruments, performing logging, etc. There could be one instrument, or there could be 40.
However, I need one application to consume all this data, run some math on it, and do the charting, display, emailing, etc. The kicker is that even if this application is not running, the services should constantly be consuming data. Also, these services should almost always be supposed to run on the same machines as the client application itself, but the ability to network them (like .NET Remoting used to do) could be an interesting feature.
My question is... is this the best design? If it is, how do I go about doing the communication between services and application? I've looked into WCF, but it seems to be geared towards request-response web services, not something that is continually streaming data to anything that might listen to it. Alternatively, should I have these services contact some other Web Service using WCF, that then compiles the data for use in a thin client viewer that polls the web service often?
Any links and resources would be greatly appreciated. .NET namespaces for me to research are also appreciated. If I wasn't clear about something let me know.
Just a thought....but have you considered perhaps adding a backend database? All services could collate data and persist it then your application that needs to process the information can just query the database rather than setting up loads of IPC between the services.
WCF can handle streaming. It can also use MSMQ as a transport, which will ensure that no messages are lost, even if your instruments begin producing large quantities of data.

Categories