surging 微服务引擎 1.0 正式发布

surging 是一个分布式微服务引擎,提供高性能RPC远程服务调用,服务引擎支持http、TCP、WS、Mqtt协议,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希一致性,随机,轮询、压力最小优先作为负载均衡的算法,底层协议集成采用的组件是dotnetty、websocket-sharp、Kestrel。支持通过docker hub 部署服务引擎,也可以通过nuget 引用组件的方式自定义服务引擎。

surging 已完成了生成环境的稳定部署,支持超过千台机器服务的水平扩展,可以支持超过1000个的serviceroutes部署,可以支持单台30000个物联网设备,平均单次访问性能可以达到0.11ms(机器的不同,所验证的结果不同,升级.netcore 2.2 使用分层编译性能会更高)

以上数据是通过本人测试,还有一些是通过别人的提供的数据获得。基本上数据都是来自于8核16G的服务器,下面我们来看看如何从各个渠道去构建surging 服务引擎

构建服务引擎

一、通过开源源码进行构建

有部分人员通过引用源码进行开发,可能是这样更容易调试,或者是实时同步surging, surging 是MIT协议,可以随便捣鼓,开源地址如下:

https://github.com/dotnetcore/surging

二、通过docker hub 进行构建部署

首先如果是自定义服务引擎,可以把镜像引擎上传到docker hub 镜像库,然后可以根据镜像库做服务编排,以下是所有上传的surging 镜像

也可以通过以下方式获取官方的服务引擎

通过以下命令进行构建

docker pull serviceengine/surging:v1.0

通过以下命令进行运行

#docker run --name surgingserver_v1.0 --env Mapping_ip=192.168.249.162 --env Mapping_Port=198 --env RootPath=/home/fanly --env

Register_Conn=192.168.249.162:8500 --env EventBusConnection=172.17.0.4 --env Surging_Server_IP=0.0.0.0 -v /home/fanly:/home/fanly -it -p 198:198 serviceengine/surging:v1.0

如下图所示

三、通过nuget 进行构建部署

可以通过nuget 包安装相关组件,如下图

四、通过rancher 进行管理和服务编排

如下图所示

未来展望

对于surging迄今为止所取得的进展感到非常兴奋,有部分已经使用surging用在了生产环境,并且对于surging的性能非常满意,对于surging未来的规划是维护现有的组件,并且扩展其它常用的协议,比如RTP、RTSP、RTMP ,还有就是做管理中心,包括了发布管理,配置管理,监控中心,异常通知,组件应用中心等功能,这里也感谢大家对于surging 的贡献与支持,也期待大家共同一起完善surging ,一起支持.net core 的生态。

原文地址:https://www.cnblogs.com/fanliang11/p/10204636.html

时间: 2024-10-08 20:18:51

surging 微服务引擎 1.0 正式发布的相关文章

谈谈surging 微服务引擎 2.0的链路跟踪和其它新增功能

一.前言 surging是基于.NET CORE 服务引擎.初始版本诞生于2017年6月份,经过NCC社区二年的孵化,2.0版本将在2019年08月28日进行发布,经历二年的发展,已经全部攘括了微服务架构的技术栈,覆盖了从服务注册.服务发现.中间件.协议主机再到链路跟踪,并且制定了一套微服务的规则,形成了一套统一的规范.以下是surging的服务引擎架构图 上图Diagnostic能够实现把整个服务链路的各种信息采集到. 比如来源地址.远程地址.报错.执行时间.调用链路.协议类型以及参数全部采集

surging 微服务引擎 -协议主机的Behavior特性

1.前言 因为工作的关系,最近很少更新surging,因为surging 一直处在不温不火的状态,而自己每天利用业余时间进行完善,每天都是疲惫的状态,还要应付新手的提问,曾经一度想放弃,但是有些人劝说,surging 已经有一定的忠粉,放弃难免可惜,你可以发展收费版本,这样你也有动力进行更新,用户也有需求,付费也是情理之中,你也能更好的发展下去.就在上个月我剥离了企业版.预定版.社区版. 社区版:阉割版本,不带配置中心,文档,服务编排流程引擎,管理中心等功能,而且没有咨询服务 预定版:部分企业版

(二)surging 微服务框架使用系列之surging 的准备工作consul安装

suging 的注册中心支持consul跟zookeeper.因为consul跟zookeeper的配置都差不多,所以只是consul的配置 consul下载地址:https://www.consul.io/downloads.html consul agent 命令的常用选项,如下: -data-dir 作用:指定agent储存状态的数据目录 这是所有agent都必须的 对于server尤其重要,因为他们必须持久化集群的状态 -config-dir  作用:指定service的配置文件和检查定

(五)surging 微服务框架使用系列之缓存-reids

1.服务跟客户端初始化的时候需要添加缓存配置 1 var host = new ServiceHostBuilder() 2 .RegisterServices(builder => 3 { 4 builder.AddMicroService(option => 5 { 6 option .AddCache()//缓存初始化28 });29 }).Configure(build =>47 build.AddCacheFile("cacheSettings.json",

微服务 SpringBoot 2.0(二):配置文件解析

properties我用了好多年,你却让我用yml,这是什么鬼 -- Java面试必修 引言 上一篇介绍了Spring Boot的轻松入门项目构建,对Spring Boot的特性有了初步了解.但如果要想玩得很熟练的话就请看接下来的文章,这样有助于后续我们快速的构建企业级应用,打怪咱得先熟悉地图对吧 配置详解 工具 SpringBoot版本:2.0.4 开发工具:IDEA 2018 Maven:3.3 9 JDK:1.8 配置文件类型 本文主要讲解SpringBoot的配置文件,常用的配置文件类型

微服务 SpringBoot 2.0(四):启动剖析之SpringApplication.run

我以为只是运行了个main方法,可却启动了服务 -- Java面试必修 引言 前一章我们讲解了启动原理的@SpringBootApplication部分,仔细跟着看代码还是很好理解,若需观看@SpringBootApplication注解部分请点击,接下来这章主要讲解run方法运行部分,run方法运行这里很枯燥乏味,所以请带好你的精气神,准备好水,因为实在是太干了. 运行启动 工具 SpringBoot版本:2.0.4 开发工具:IDEA 2018 Maven:3.3 9 JDK:1.8 我们继

微服务 SpringBoot 2.0(六):常用配置(properties、yml)

约定优于配置,但配置不能为0 -- Java面试必修 引言 在前面的章节中,我们已经知道,SpringBoot的配置文件分为properties和yml,而我个人更青睐yml,其书写格式让人觉得很舒服,那这篇文章了就将配置文件中的各个属性列出来供大家参考,在IDE工具中也会有相应的提示,若出现红色,说明该属性已经在2.0中变更,请查看变更后的书写格式. SPRING CONFIG spring.config.name 配置文件名称,默认为application spring.config.loc

基于docker 如何部署surging分布式微服务引擎

1.前言 转眼间surging 开源已经有1年了,经过1年的打磨,surging已从最初在window 部署的分布式微服务框架,到现在的可以在docker部署利用rancher 进行服务编排的分布式微服务引擎,再把业务进行剥离, 通过配置路径就能驱动加载业务模块,这样的细粒度设计,能更加灵活从业务中针对于对象加以细分,能更加灵活的拆分聚合服务.而这篇文章我们来谈谈基于docker 如何部署 surging源码下载 2.概述 容器,就是用来存放镜像的器皿,而镜像是构建成的一个轻量的.独立的.可执行

华为云容器和微服务是什么?

近期华为云围绕容器和微服务,号召行业分析师,应用上云实践者围绕容器和微服务进行深入讨论. 华为云全栈容器与微服务,业务创新快人一步 敏捷.高效.智能是Cloud 2.0时代企业数字化转型核心诉求,华为云全栈容器和微服务全面拥抱云原生,提供全栈云原生应用开发与管理,包括容器.微服务框架.云中间件.压测.APM等系列产品,涵盖应用开发.编译.构建.部署.测试.发布.上线.运维等应用全生命周期管理,让客户更聚焦自己的业务.到目前为止,华为云容器和微服务产品广泛引用在金蝶云.同济大学.图灵生物.华为消费