.NET Core Community 第四个千星项目诞生:微服务框架 Surging

本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC。捐赠情况将由倾竹大人在此处公示。
提及 .NET 微服务,我们脑海中浮现的一系列印象中,总有 Surging 的踪迹。毫无疑问,尽管我们尚未将之纳入生产环境的技术选型范围,但这个项目我们已经观察了很久,私底下也拿来学习和尝试。对我来说,让我最感动的瞬间是作者那句「给我 2 年时间,我给你一个完整的微服务框架」,如果给他 2 年时间,如果我们继续观察 2 年,2 年后的 Surging 会给我们什么惊喜么?答案欲言未言,就在身边,今天这篇文章目的不在于介绍范亮先生及其 Surging,而在于祝贺范亮先生的 Surging 成为 NCC 的第四个千星项目。感谢他的努力,祝贺他的成绩。
去年年中,范亮先生为大家带来了 Surging,详细介绍了 Surging 的架构思想。Surging 是一个分布式微服务框架,提供高性能 RPC 远程服务调用,采用 Zookeeper、Consul 为服务注册中心,集成了哈希、随机、轮询、压力最小优先作为负载均衡的算法,集成 Netty 框架,使用异步传输。三言两语无法道尽 Surging,所幸在范亮先生的博客中有大量文章介绍 Surging 的各子系统细节和用例,本文不做赘述。
Surging 能带来什么?
- 简化的服务调用,通过服务规则的指定,就可以做到服务之间的远程调用,无需其它方式的侵入
- 服务自动注册与发现,不需要配置服务提供方地址,注册中心基于ServiceId 或者RoutePath查询服务提供者的地址和元数据,并且能够平滑添加或删除服务提供者。
- 软负载均衡及容错机制,通过surging内部负载算法和容错规则的设定,从而达到内部调用的负载和容错
- 分布式缓存中间件:通过哈希一致性算法来实现负载,并且有健康检查能够平滑的把不健康的服务从列表中删除
- 事件总线:通过对于事件总线的适配可以实现发布订阅交互模式
- 容器化持续集成与持续交付 :通过构建一体化Devops平台,实现项目的自动化构建、部署、测试和发布,从而提高生产环境的可靠性、稳定性、弹性和安全性。
- 业务模块化驱动引擎,通过加载指定业务模块,能够更加灵活、高效的部署不同版本的业务功能模块
项目: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。
- 演讲 PPT:http://events.dotnet-china.org/shanghai-2018/speech-01-fanliang.pdf
- 演讲视频:https://www.bilibili.com/video/av26680192/
Surging 自加入 NCC 起始终坚持不懈的更新、完善,作者发型优美、思路严谨;项目逐渐完整、日趋完善,于 2018 年 6 月底七月初成为 NCC 第四个星数破千的项目,值得祝贺。为此,经 NCC 授权,由 AlexLEWIS 赠送 Surging 作者 Fanliang11 先生图书一本。

将《思维简史》赠予范亮先生。
如果您有项目想加入我们,欢迎来 http://github.com/dotnetcore/home 提请:)
本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC。捐赠情况将由倾竹大人在此处公示。
.NET Core Community 第四个千星项目诞生:微服务框架 Surging的更多相关文章
- .NET Core Community 第三个千星项目诞生:爬虫 DotnetSpider
本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC.捐赠情况将由倾竹大人在此处公示. DotnetSpider 至力于打造一个轻量化.高效率.易开发.可 ...
- 基于.NET CORE微服务框架 -surging的介绍和简单示例 (开源)
一.前言 至今为止编程开发已经11个年头,从 VB6.0,ASP时代到ASP.NET再到MVC, 从中见证了.NET技术发展,从无畏无知的懵懂少年,到现在的中年大叔,从中的酸甜苦辣也只有本人自知.随着 ...
- .NET Core Community 首个千星项目诞生:CAP
项目简介 在我们构建 SOA 或者 微服务系统的过程中,我们通常需要使用事件来对各个服务进行集成,在这过程中简单的使用消息队列并不能保证数据的最终一致性, CAP 采用的是和当前数据库集成的本地消息表 ...
- .NET Core Community 第二个千星项目诞生:Util
本文所有打赏将全数捐赠于 NCC(NCC 的资金目前由 倾竹大人 负责管理),请注明捐赠于 NCC.捐赠情况将由倾竹大人另行公示. 项目简介 作为一款旨在提升小型团队开发输出能力.提高团队效率.降低项 ...
- 基于.NET CORE微服务框架 -surging 基于messagepack、protobuffer、json.net 性能对比
1.前言 surging内部使用的是高性能RPC远程服务调用,如果用json.net序列化肯定性能上达不到最优,所以后面扩展了protobuf,messagepack序列化组件,以支持RPC二进制传输 ...
- .net Core 微服务框架 surging 使用
surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper.Consul作为surging服务的注册中心, 集成了哈希,随机,轮询作为负载均衡的算法,RPC集成采用的 ...
- 首次GitHub千星项目提交维护成功 留念
现在有点激动,可能有混乱的地方.请大家见谅. 一直觉得千星项目,对我来说是一个遥不可及的地方.没想到第一次在GitHub上 提交Pull Request 就成功了,并且是一个千星项目. 虽然 只是提出 ...
- MicroService.Core简易微服务框架《一、简介》
MicroService.Core MicroService.Core 的初衷是为了方便的创建一个微服务, 可作为 Windows Service 或者控制台模式启动. 它底层使用了 OWin 自托管 ...
- 基于.NET CORE微服务框架 -谈谈surging API网关
1.前言 对于最近surging更新的API 网关大家也有所关注,也收到了不少反馈提出是否能介绍下Api网关,那么我们将在此篇文章中剥析下surging的Api 网关 开源地址:https://git ...
随机推荐
- (办公)百度api的使用
这个只是入门,详细的还得看官方的文档http://lbsyun.baidu.com/index.php?title=jspopular3.0/guide/helloworld 百度地图的“Hello, ...
- Fiddler做代理服务器时添加X-Forwarder-For转发真实客户端ip
修改CustomRules.js 菜单: Rules->Customize Rules (ctrl+R) 在 static function OnBeforeRequest(oSession: ...
- 最简单的java浏览器
/** * Created by Admin on 2017/3/27. */ import java.awt.BorderLayout; import java.awt.Container; imp ...
- [20170604]12c Top Frequency histogram补充.txt
[20170604]12c Top Frequency histogram补充.txt 1.环境:SCOTT@test01p> @ ver1PORT_STRING ...
- SQL SERVER查询字段在哪个表里
); SET @ColumnName='字段名的模糊匹配'; SELECT 表名=D.NAME, 表说明 THEN ISNULL(F.VALUE, ' ') ELSE ' ' END, 字段序号 = ...
- Linux环境下执行java -jar xxx.jar命令如何让springboot项目在后台运行
段落引用> 由于springboot内置了tomcat容器,我们通常会把项目打成jar或者war后直接使用java -jar xxx.jar命令去运行程序,但是当前ssh窗口被锁定或者按下ctr ...
- 智能合约 solidity 开发的环境基本搭建
以太坊Dapp开发快速入门 以太坊为开源社区,虽然设计东西都很优秀,但是组件十分的杂乱,因此下面首先简单介绍下以太坊的一些常用组件以及各种工具介绍 Geth Geth是由以太坊基金会提供的官方客户端软 ...
- Linux进程核心调度器之主调度器schedule--Linux进程的管理与调度(十九)
主调度器 在内核中的许多地方, 如果要将CPU分配给与当前活动进程不同的另一个进程, 都会直接调用主调度器函数schedule, 从系统调用返回后, 内核也会检查当前进程是否设置了重调度标志TLF_N ...
- Excel 单元格不能设置超链接
最近在重做系统后 新安装office后 原先的Excel中设置的超链接不能正常使用了 如果新配置的超链接也不能使用 解决方法: 步骤1:打开开始菜单,在运行里输入regedit,回车 步骤2 在 ...
- LeetCode算法题-Find All Numbers Disappeared in an Array(Java实现)
这是悦乐书的第232次更新,第245篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第99题(顺位题号是448).给定一个整数数组,其中1≤a[i]≤n(n =数组的大小) ...