本文所有打赏将全数捐赠于 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. (办公)百度api的使用

    这个只是入门,详细的还得看官方的文档http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/helloworld 百度地图的“Hello, ...

  2. Fiddler做代理服务器时添加X-Forwarder-For转发真实客户端ip

    修改CustomRules.js 菜单: Rules->Customize Rules (ctrl+R) 在 static function OnBeforeRequest(oSession: ...

  3. 最简单的java浏览器

    /** * Created by Admin on 2017/3/27. */ import java.awt.BorderLayout; import java.awt.Container; imp ...

  4. [20170604]12c Top Frequency histogram补充.txt

    [20170604]12c Top Frequency histogram补充.txt 1.环境:SCOTT@test01p> @ ver1PORT_STRING                 ...

  5. SQL SERVER查询字段在哪个表里

    ); SET @ColumnName='字段名的模糊匹配'; SELECT 表名=D.NAME, 表说明 THEN ISNULL(F.VALUE, ' ') ELSE ' ' END, 字段序号 = ...

  6. Linux环境下执行java -jar xxx.jar命令如何让springboot项目在后台运行

    段落引用> 由于springboot内置了tomcat容器,我们通常会把项目打成jar或者war后直接使用java -jar xxx.jar命令去运行程序,但是当前ssh窗口被锁定或者按下ctr ...

  7. 智能合约 solidity 开发的环境基本搭建

    以太坊Dapp开发快速入门 以太坊为开源社区,虽然设计东西都很优秀,但是组件十分的杂乱,因此下面首先简单介绍下以太坊的一些常用组件以及各种工具介绍 Geth Geth是由以太坊基金会提供的官方客户端软 ...

  8. Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)

    主调度器 在内核中的许多地方, 如果要将CPU分配给与当前活动进程不同的另一个进程, 都会直接调用主调度器函数schedule, 从系统调用返回后, 内核也会检查当前进程是否设置了重调度标志TLF_N ...

  9. Excel 单元格不能设置超链接

    最近在重做系统后  新安装office后 原先的Excel中设置的超链接不能正常使用了  如果新配置的超链接也不能使用 解决方法: 步骤1:打开开始菜单,在运行里输入regedit,回车 步骤2  在 ...

  10. LeetCode算法题-Find All Numbers Disappeared in an Array(Java实现)

    这是悦乐书的第232次更新,第245篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第99题(顺位题号是448).给定一个整数数组,其中1≤a[i]≤n(n =数组的大小) ...