简体   繁体   中英

.net service as a Azure program?

I have a windows service that effectively allows clients to connect to it via TCP socket, and send/receive data to it. It has to be able to do this fairly quickly.

The service its self runs on a windows server currently, and spawns off a thread for each "room" it knows about. Each request that comes in via TCP socket, is parsed for what room it is in, and all requests get forwarded to the thread running that room.

The server side piece processes the request then sends back a response via the same TCP Socket.

I'm curious about moving this to Azure for the simple sake of scalability and manageability. But i'm not quite sure what services i should be looking at to do this. Does anybody have any recommendations?

This currently is running in an Amazon EC2 instance, with a RDS Database backend and some bits pieces utilizing S3.

Looking for move to azure due to some new partnering with some people who have virtually unlimited access to azure for little to no cost at all.

In general, you have two services on Azure you can choose from (three if you count Virtual Machines to it, but they are harder to scale compared to the other two). The first one are the Azure Worker Roles , which are part of the cloud services. They exist since the early beginning of Azure and are build similar to Windows Services. A little bit newer are the Azure WebJobs , which lets you run several types of scripts, such as PowerShell or a Windows CMD, inside the Websites service. This service allows you to run your program either on demand, continuously (which should be your preferred choice in your scenario) or on a schedule.

For your scenario I would go with the worker role. It is very similar to a Windows Service (means that you ideally don't have to do a big rewrite of your code base) and easily scales out to a lot of instances. Nevertheless, you should keep some good cloud patterns in mind, especially when it comes to scaling out your service. There are some obstacles where cloud services and worker roles behave in a different way than you might think.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM