Нема описа

lith c43d681283 пре 4 година
Doc 2b6fa80500 пре 4 година
cpp ea1ed46434 пре 5 година
dotnet c43d681283 пре 4 година
java 696f31d022 пре 5 година
.gitattributes 696f31d022 пре 5 година
readme.md 096e8a0e2a пре 4 година
一键发布nuget包并上传.bat 25f30f355f пре 4 година
删除发布文件.bat b1491a0999 пре 4 година

readme.md

Sers微服务架构协议(Sers 2.1.1/release)

Sers为一套跨平台跨语言的开源微服务架构协议。 ● 跨语言,目前已支持c#、java、c++、javascript。 ● 轻量简洁,javascript接入代码不到1000行,压缩后只有8KB。您可以在浏览器上通过javascript接入提供api服务。 ● 高效高并发,.net core版本(2.1.1)单机QPS可稳定在15万以上。 ● 高扩展性,可以自行扩展接入。 ● 支持tcp、zmp、websocket、ipc等多种通讯方式。 ● 可以非侵入式接入.net core web api,接入代码只有1行。

源码地址:https://github.com/serset/Sers

此版本为v2.1.1版。(RequestQueue模式)

部署

参见Release-Sers-v2.1.1

点我查看docker部署

性能测试

部署(或运行)ServiceCenter Gover Gateway Robot StationDemo五个项目。

qps数据来源于 ab 和 http://ip:6022/ApiStationMng.html 页面中的统计

项目部署在同一机器, Robot和StationDemo都附加在ServiceCenter上

robot内部调用 : 配置 方式 线程数(处理/请求) qps

i7-7700K(4.2GHZ) 4核8线程 win10 ApiClientAsync 8/8 140万

CentOs8(2x24核) .net5 ApiClientAsync 12/12 130-200万(13%)

Os robot内部调用(8线程) ab压测(32线程,CGateway)
Windows10 150000
CentOs7(2核1G) 15000 3500
CentOs7(4核1G) 25000 5000

项目均部署在同一机器,消息队列使用SocketMq

Os 调用线程数 qps(内部调用) qps(http网关调用-本机) qps(jmeter调用http网关-外部)
Ubuntu(6核2G) 10 7000 2000 1700
CentOs7(1核1G) 10 4000 1100 840
CentOs7(2核1G) 10 5000 1500-2000 1300
CentOs7(6核1G) 10 8000-9400 3000 1800
Windows10 10 6000 400 1600
Server2012(6核2G) 10 15000-17000 2200

模块

(x.1)服务中心(ServiceCenter)

功能:服务注册,请求分发(负载均衡),消息订阅等。所有服务站点都需要向此站点注册。

(x.2)服务治理(Gover)

功能:管理监控服务、站点,服务限流,服务统计等。服务治理实际部署在服务中心,此站点为服务治理的用户界面。

部署后可打开地址进行管理 http://ip:6022/index.html

(x.3)Http网关(ServiceStation)

功能:外部接口通过本网关调用内部服务。

网关有两个版本,c++版(CGateway)和dotnet版(Gateway), c++版(CGateway)相对更高效。

(x.4)服务站点(ServiceStation)

(x.x.1)StationDemo

功能:站点Demo。

dotnet\netcore\Station\StationDemo\App.StationDemo.Station

(x.x.2)Robot

功能:可以循环调用指定接口,可用来负载测试。

dotnet\netcore\Station\Robot\App.Robot.Station http://ip:6022/_robot_/TaskMng.html