微软的 Azure Service Fabric 的官方博客在2017.3.24日发布了一篇博客 Service Fabric .NET SDK goes open source ,介绍了社区呼声最高的 Service Fabric 开源的情况以及当前的情况,当时开源了 Service Fabric的.NET SDK 部分,社区一直在期盼着 Service Fabric 的正式开源,经过了一年漫长的等待,2018年3月14日微软终于开源了 Service Fabric ,而且是以 MIT 许可下开放源代码,在官方博客宣布 https://blogs.msdn.microsoft.com/azureservicefabric/2018/03/14/service-fabric-is-going-open-source/。
目前微软在 Github 上的开源地址是 https://github.com/Microsoft/service-fabric,目前的代码构建适用于 Linux 的 Service Fabric ,运行基本测试,有问题可以在上面提交 issue 和 PR 了,Windows 构建环境以及完整的 CI 环境还没有迁移过来,看到代码还是3个小时前初始化的。Windows 内部为 Service Fabric 开发了将近十年的内部服务,其中大部分时间都是微软内部平台,比如 Office365,Azure Stack 平台等,这意味着我们有近十年的内部微软工具可以在迁移之前完成迁移和流程细化,逐步全部开源,以后全部开发都在开源模式下进行开发工作。
微软去年漫长的一年时间里也开放了非常多的代码,包括包括 Reliable Services,Reliable Actors 和 ASP.NET Core 集成库,Azure 基础架构服务以及 Azure SQL DB,Azure Cosmos DB 和 Cortana 等大型解决方案都在使用 Service Fabric 构建。
Service Fabric 会带来如下好处:
- 支持创建无状态和有状态的微服务,通过云平台来伸缩他们,以应对高复杂度、低延迟、数据密集的情况
- 通过应用程序级别的感知和洞察,为微服务带来编排和自动化的优势
- 解决分布式系统诸如状态管理这样的难点,为开发人员提供应用程序生命周期管理的能力以便随着业务的增长无需重构系统架构
- 相关工具会集成到 Visual Studio 中,也会提供相应命令行工具,以便开发人员能够快速和轻易地上手
- 同时支持.NET和Java,这个特性特别适合目前国内原来很多投资于 .NET 平台,被人忽悠爬上了Java 贼船,看到了.NET Core,想回来的可以回来了。
这里顺便广告下我们的网关项目 Ocelot 也完成了 Service Fabric 的集成工作,具体参考我们的文档 http://ocelot.readthedocs.io/en/latest/features/servicefabric.html ,.NET Core 的生态有了 Service Fabric 这一利器,我们将进一步发展壮大,让很多从 .NET 转向 Java 的人看清 .NET Core 的发展潜力。对于使用 .net 技术还想着转向 Java 的企业给一个规劝,转向 .net core 更有前途。