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

本文主要是介绍.NET Core Community 第四个千星项目诞生:微服务框架 Surging,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

498413-20180903014252612-1722527313.jpg

本文所有打赏将全数捐赠于 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。

  • 演讲 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 先生图书一本。

498413-20180903013536065-1935577394.jpg

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


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

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

转载于:https://www.cnblogs.com/forerunner/p/ncc-surging-with-over-thousand-stars.html

这篇关于.NET Core Community 第四个千星项目诞生:微服务框架 Surging的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/470191

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Boot项目部署命令java -jar的各种参数及作用详解

《SpringBoot项目部署命令java-jar的各种参数及作用详解》:本文主要介绍SpringBoot项目部署命令java-jar的各种参数及作用的相关资料,包括设置内存大小、垃圾回收... 目录前言一、基础命令结构二、常见的 Java 命令参数1. 设置内存大小2. 配置垃圾回收器3. 配置线程栈大小

Spring Boot项目中结合MyBatis实现MySQL的自动主从切换功能

《SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能》:本文主要介绍SpringBoot项目中结合MyBatis实现MySQL的自动主从切换功能,本文分步骤给大家介绍的... 目录原理解析1. mysql主从复制(Master-Slave Replication)2. 读写分离3.

一文教你如何将maven项目转成web项目

《一文教你如何将maven项目转成web项目》在软件开发过程中,有时我们需要将一个普通的Maven项目转换为Web项目,以便能够部署到Web容器中运行,本文将详细介绍如何通过简单的步骤完成这一转换过程... 目录准备工作步骤一:修改​​pom.XML​​1.1 添加​​packaging​​标签1.2 添加

tomcat多实例部署的项目实践

《tomcat多实例部署的项目实践》Tomcat多实例是指在一台设备上运行多个Tomcat服务,这些Tomcat相互独立,本文主要介绍了tomcat多实例部署的项目实践,具有一定的参考价值,感兴趣的可... 目录1.创建项目目录,测试文China编程件2js.创建实例的安装目录3.准备实例的配置文件4.编辑实例的

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应