Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

.NET core porting #33

Open
VenkateshSrini opened this issue Jun 19, 2017 · 11 comments
Open

.NET core porting #33

VenkateshSrini opened this issue Jun 19, 2017 · 11 comments

Comments

@VenkateshSrini
Copy link

Hi,
We have an up coming requirement in doing MicroServices in .NET core 2.0. What is the time line by which the .NET core port will be available.

Thanks and regards
Venkatesh

@tsibelman
Copy link
Contributor

We would love to move to .NET core but because our framework is working with MS Orleans, it would not be possible to support .NET core before Orleans is supporting .NET core.

@Allon-Guralnek
Copy link
Contributor

You can track Orleans' progress towards .NET Core here:

dotnet/orleans#2145

@VenkateshSrini
Copy link
Author

VenkateshSrini commented Jun 19, 2017 via email

@Allon-Guralnek
Copy link
Contributor

@VenkateshSrini I'm not sure what you mean by "preview 2". Could you provide a link?

@VenkateshSrini
Copy link
Author

@Allon-Guralnek
Copy link
Contributor

@VenkateshSrini Thanks for the link. It seems these are really early prototypes of Orleans 2.0 that do not even contain all the features of Orleans 1.3 which we currently use. It doesn't even support any membership provider other than Azure. This will make porting Microdot to Orleans 2.0 preview way more difficult that it should, since none of the tests will run successfully and most of the code won't compile due to missing features.

As Sergey wrote in a comment, they'll start working on 2.0 in a few weeks and it'll take another three months to release. I think it would be wiser to start working on it when it has feature parity with the existing Orleans release, which will help make it a smoother transition. In the meantime, our next goal is Orleans 1.5.

We'll keep an eye out for a more complete 2.0 release since we are also interested in transitioning to .NET Core as soon as we can.

@VenkateshSrini
Copy link
Author

Hi,
Would you be happy to consider some other framework like Akka.NET. That is also based of Virtual actor pattern.

@Allon-Guralnek
Copy link
Contributor

Allon-Guralnek commented Jun 20, 2017

@VenkateshSrini Sorry, we're integrated pretty tightly with Orleans. Also, Akka.NET is not a Virtual Actor framework, it's a regular actor framework. And it doesn't yet support .NET Core either. So I'm not sure how that's relevant.

@VenkateshSrini
Copy link
Author

VenkateshSrini commented Jun 21, 2017 via email

@daniellm
Copy link
Contributor

@VenkateshSrini, Microdot is not strongly tied to Orleans. Microdot glues together disparate services that may or may not run on top of Orleans. You can definitely try using Akka.Net in your services. To connect Microdot to Akka.Net, take a look at out HttpListener, it uses an abstract IActivator to pass incoming RPC requests to the service. We got two implementations: one that calls into Orleans, and another for non-Orleans services. You can develop and inject an IActivator that binds to Akka.Net. There might be a few more integration points, but that's the only major one I can think of. If you do integrate with Akka.net, we'll be happy to include it with Microdot.

It's important to understand that microservices frameworks are large and need to be customized in each organization. Some development and integration will be needed, no matter which one you choose. And you'll need robust build, deployment and monitoring systems as well.

Regarding .net core, we also would like to switch to it as soon as it's viable, so we can run our microservices over Linux and Docker. But the industry is just not there yet, a lot of important third party libraries we depend on haven't been adapted yet. I would suggest, if possible, that you start your development over .net 4.5.x + Windows, and switch to .net core later on.

@quinvit
Copy link

quinvit commented Aug 11, 2019

Just want to share my ported version https://github.com/quinvit/microcore. I used it for my company project. It runs perfectly on Linux and docker.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants