本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC。捐赠情况将由倾竹大人在此处公示

提及 .NET 微服务,我们脑海中浮现的一系列印象中,总有 Surging 的踪迹。毫无疑问,尽管我们尚未将之纳入生产环境的技术选型范围,但这个项目我们已经观察了很久,私底下也拿来学习和尝试。对我来说,让我最感动的瞬间是作者那句「给我 2 年时间,我给你一个完整的微服务框架」,如果给他 2 年时间,如果我们继续观察 2 年,2 年后的 Surging 会给我们什么惊喜么?答案欲言未言,就在身边,今天这篇文章目的不在于介绍范亮先生及其 Surging,而在于祝贺范亮先生的 Surging 成为 NCC 的第四个千星项目。感谢他的努力,祝贺他的成绩。

去年年中,范亮先生为大家带来了 Surging,详细介绍了 Surging 的架构思想。Surging 是一个分布式微服务框架,提供高性能 RPC 远程服务调用,采用 Zookeeper、Consul 为服务注册中心,集成了哈希、随机、轮询、压力最小优先作为负载均衡的算法,集成 Netty 框架,使用异步传输。三言两语无法道尽 Surging,所幸在范亮先生的博客中有大量文章介绍 Surging 的各子系统细节和用例,本文不做赘述。

Surging 能带来什么?

  1. 简化的服务调用,通过服务规则的指定,就可以做到服务之间的远程调用,无需其它方式的侵入
  2. 服务自动注册与发现,不需要配置服务提供方地址,注册中心基于ServiceId 或者RoutePath查询服务提供者的地址和元数据,并且能够平滑添加或删除服务提供者。
  3. 软负载均衡及容错机制,通过surging内部负载算法和容错规则的设定,从而达到内部调用的负载和容错
  4. 分布式缓存中间件:通过哈希一致性算法来实现负载,并且有健康检查能够平滑的把不健康的服务从列表中删除
  5. 事件总线:通过对于事件总线的适配可以实现发布订阅交互模式
  6. 容器化持续集成与持续交付 :通过构建一体化Devops平台,实现项目的自动化构建、部署、测试和发布,从而提高生产环境的可靠性、稳定性、弹性和安全性。
  7. 业务模块化驱动引擎,通过加载指定业务模块,能够更加灵活、高效的部署不同版本的业务功能模块

项目:https://github.com/dotnetcore/surging
授权:MIT
文档:https://github.com/dotnetcore/surging/blob/master/docs/README.md
简单示例:https://github.com/dotnetcore/surging/blob/master/docs/docs.en/INDEX.md

作者:Fanliang11(范亮)
GitHub:https://github.com/fanliang11


在 NCC Meetup 2018 Shanghai 活动中,范亮先生为我们介绍了 Surging


Surging 自加入 NCC 起始终坚持不懈的更新、完善,作者发型优美、思路严谨;项目逐渐完整、日趋完善,于 2018 年 6 月底七月初成为 NCC 第四个星数破千的项目,值得祝贺。为此,经 NCC 授权,由 AlexLEWIS 赠送 Surging 作者 Fanliang11 先生图书一本。

将《思维简史》赠予范亮先生。


如果您有项目想加入我们,欢迎来 http://github.com/dotnetcore/home 提请:)

本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC。捐赠情况将由倾竹大人在此处公示

.NET Core Community 第四个千星项目诞生:微服务框架 Surging的更多相关文章

  1. .NET Core Community 第三个千星项目诞生:爬虫 DotnetSpider

    本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC.捐赠情况将由倾竹大人在此处公示. DotnetSpider 至力于打造一个轻量化.高效率.易开发.可 ...

  2. 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)

    一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...

  3. .NET Core Community 首个千星项目诞生:CAP

    项目简介 在我们构建 SOA 或者 微服务系统的过程中,我们通常需要使用事件来对各个服务进行集成,在这过程中简单的使用消息队列并不能保证数据的最终一致性, CAP 采用的是和当前数据库集成的本地消息表 ...

  4. .NET Core Community 第二个千星项目诞生:Util

    本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC.捐赠情况将由倾竹大人另行公示. 项目简介 作为一款旨在提升小型团队开发输出能力.提高团队效率.降低项 ...

  5. 基于.NET CORE微服务框架 -surging 基于messagepack、protobuffer、json.net 性能对比

    1.前言 surging内部使用的是高性能RPC远程服务调用,如果用json.net序列化肯定性能上达不到最优,所以后面扩展了protobuf,messagepack序列化组件,以支持RPC二进制传输 ...

  6. .net Core 微服务框架 surging 使用

    surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper.Consul作为surging服务的注册中心, 集成了哈希,随机,轮询作为负载均衡的算法,RPC集成采用的 ...

  7. 首次GitHub千星项目提交维护成功 留念

    现在有点激动,可能有混乱的地方.请大家见谅. 一直觉得千星项目,对我来说是一个遥不可及的地方.没想到第一次在GitHub上 提交Pull Request 就成功了,并且是一个千星项目. 虽然 只是提出 ...

  8. MicroService.Core简易微服务框架《一、简介》

    MicroService.Core MicroService.Core 的初衷是为了方便的创建一个微服务, 可作为 Windows Service 或者控制台模式启动. 它底层使用了 OWin 自托管 ...

  9. 基于.NET CORE微服务框架 -谈谈surging API网关

    1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...

随机推荐

  1. (网页)jQuery判断checkbox是否选中的方法

    if($('#checkbox-id').is(':checked')) { // do something} if ($('#checkbox-id').attr('checked')) {    ...

  2. 使用vuejs2.0和element-ui 搭建的一个后台管理界面

    说明: 这是一个用vuejs2.0和element-ui搭建的后台管理界面. 相关技术: vuejs2.0:一套构建用户界面的渐进式JavaScript框架,易用.灵活.高效. element-ui: ...

  3. php 接口与前端数据交互实现

    最近在做前后端数据交互的尝试,也跳了很多坑,使用的是php+bootstrap-table+js,把一些收获记录在这里,方便查询. 这个小项目,仅有3个文件,分别为: crud.html data.p ...

  4. C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)

    一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...

  5. webstorm 2018 激活破解方法大全

    转载自:https://blog.csdn.net/voke_/article/details/76418116 方法一:(更新时间:2018/4/8)v3.3 注册时,在打开的License Act ...

  6. Sql Server 按格式输出日期

    SELECT dbo.fn_Data(getdate(),'yyyymmdd') CREATE FUNCTION [dbo].[fn_Data] (@date as datetime, @format ...

  7. Linux CFS调度器之队列操作--Linux进程的管理与调度(二十七)

    1. CFS进程入队和出队 完全公平调度器CFS中有两个函数可用来增删队列的成员:enqueue_task_fair和dequeue_task_fair分别用来向CFS就绪队列中添加或者删除进程 2 ...

  8. Windows Server 2016-管理Active Directory复制任务

    Repadmin.exe可帮助管理员诊断运行Microsoft Windows操作系统的域控制器之间的Active Directory复制问题. Repadmin.exe内置于Windows Serv ...

  9. 【转】10条你不可不知的css规则

    10条你不可不知的css规则 Posted on 2006-12-20 10:33 雨中太阳 阅读(343) 评论(1) 编辑 收藏 :[译]10条你不可不知的css规则正文: Published D ...

  10. IIS 发布ASP.NET MVC 4.0 错误500.21解决办法

    由VS2013 写好的MVC 4.0 发布在服务器IIS 上报错500.21,解决办法:尝试多种网上介绍的办法,最后发现还是模块问题.