Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

update #150

Open
wants to merge 465 commits into
base: kafka
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
465 commits
Select commit Hold shift + click to select a range
4af0127
Reduce coupling and refactor swagger to Engine Part Module
fanliang11 Jun 11, 2019
534f23f
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jun 11, 2019
0cd8675
Lock when the service is registered
fanliang11 Jun 12, 2019
cc9bcfc
Lock when the service is registered
fanliang11 Jun 16, 2019
3b60e1e
add udp protocol host
fanliang11 Jun 18, 2019
538754c
organize code
fanliang11 Jun 18, 2019
9f81691
swagger
anybt Jun 20, 2019
743f13a
Merge pull request #310 from buyg610527/master
fanliang11 Jun 20, 2019
7464f66
fix bug
fanliang11 Jun 20, 2019
ef98f8c
add udp service host, the packet loss causes the video to be unclear
fanliang11 Jun 22, 2019
dd5dcba
ServiceMetadata add the IsOverload setting option to resolve service …
fanliang11 Jun 24, 2019
51b4185
ServiceMetadata add the IsOverload setting option to resolve service …
fanliang11 Jun 24, 2019
8fa7efd
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jun 24, 2019
f31f95e
Merge pull request #3 from dotnetcore/master
brucehu123 Jun 27, 2019
a7320dc
Merge pull request #3 from dotnetcore/master
liuhll Jun 27, 2019
909262e
support abp module components
fanliang11 Jun 27, 2019
1b5e8a7
Merge pull request #4 from dotnetcore/master
liuhll Jun 27, 2019
dfe0d23
新增Surging.Core.AutoMapper组件
liuhll Jun 27, 2019
1a5d537
支持通过继承标识接口将实例注入ioc容器
liuhll Jun 27, 2019
7f13ad5
Merge pull request #313 from liuhll/dev-di
fanliang11 Jun 27, 2019
8fe78ad
Merge pull request #312 from liuhll/dev-automapper
fanliang11 Jun 27, 2019
3ffa97f
Merge pull request #5 from dotnetcore/master
liuhll Jun 27, 2019
4b29dbc
fix bug
fanliang11 Jun 28, 2019
10404df
格式化代码,增加注释
imiyu Jun 28, 2019
378d0a8
Merge pull request #315 from imiyu/master
fanliang11 Jun 29, 2019
fa4b25f
新增surging文档脚手架
liuhll Jun 29, 2019
c75b3fd
Merge pull request #316 from liuhll/feature-doc-scaffold
fanliang11 Jun 29, 2019
9636707
新增surging文档脚手架
liuhll Jun 29, 2019
b9b2d6f
Update CONTRIBUTING.md
liuhll Jun 29, 2019
2bed93e
add routepath support append routeTemplate
fanliang11 Jun 29, 2019
dc46813
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jun 29, 2019
1ab0dd0
Merge pull request #317 from liuhll/update-contributing
fanliang11 Jun 30, 2019
dc88ea7
Merge pull request #4 from dotnetcore/master
brucehu123 Jul 1, 2019
7c7430e
add stage based on KestrelHttp
fanliang11 Jul 3, 2019
b3683c3
add comments & format code
xiaobei930 Jul 3, 2019
6c23c24
Merge pull request #321 from xiaobei930/master
fanliang11 Jul 3, 2019
938848e
fix mqtt bug
fanliang11 Jul 4, 2019
0619d41
merge code
fanliang11 Jul 4, 2019
9d85b46
add document directory
fanliang11 Jul 4, 2019
2e99164
Update index.md
fanliang11 Jul 4, 2019
ceba511
修复地址模型如果设置的是域名则解析Endpoint失败的bug
Jul 5, 2019
ffc2300
Merge pull request #322 from liuhll/fix-bug-ipaddressmodel
fanliang11 Jul 5, 2019
9526453
Optimization code
fanliang11 Jul 5, 2019
00bd4fb
Fix the bug that the serviceroute is inaccurate
fanliang11 Jul 5, 2019
c99d2f2
Update index.md
fanliang11 Jul 7, 2019
73132ef
Fix cache interception bug
fanliang11 Jul 8, 2019
51a295d
Fix cache interception bug
fanliang11 Jul 8, 2019
0ecad70
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jul 8, 2019
f017f13
fix intercept bug
fanliang11 Jul 8, 2019
ad66c5f
gateway removes the interceptor
fanliang11 Jul 8, 2019
0d4b85a
Merge pull request #1 from dotnetcore/master
linch90 Jul 9, 2019
683b8f3
fix bug
fanliang11 Jul 9, 2019
530833c
add stage config
fanliang11 Jul 9, 2019
8c94121
optimization code
fanliang11 Jul 9, 2019
5374e61
support for configuring multiple https ports
fanliang11 Jul 9, 2019
be95a5c
Update README.md
fanliang11 Jul 9, 2019
bf733bd
Update README.md
fanliang11 Jul 9, 2019
e7370f6
add stage AuthorizationFilter
fanliang11 Jul 11, 2019
4ee555d
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jul 11, 2019
368a670
Add support for L2 cache
fanliang11 Jul 11, 2019
c5256ae
Add support for L2 cache
fanliang11 Jul 11, 2019
9a0d2e1
fix bug
fanliang11 Jul 11, 2019
78d7fb6
KestrelHost通过环境变量ASPNETCORE_ENVIRONMENT指定开发环境
liuhll Jul 12, 2019
7876ac6
Merge pull request #332 from liuhll/fix-hosting-env
fanliang11 Jul 12, 2019
363589f
stage supports AuthorizationFilter and ActionFilter
fanliang11 Jul 13, 2019
808d590
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jul 13, 2019
b9f2bc8
fix bug
fanliang11 Jul 13, 2019
80424fb
add reference stage module to generate aggregate gateway
fanliang11 Jul 14, 2019
e412d6c
fix Remote Execute
fanliang11 Jul 14, 2019
b374b60
fix bug
fanliang11 Jul 14, 2019
e57041d
Stage add IsCamelCaseResolver option
fanliang11 Jul 15, 2019
b4011dc
add IsCamelCaseResolver option
fanliang11 Jul 15, 2019
57f3bed
fix bug
fanliang11 Jul 17, 2019
afa540f
change async
fanliang11 Jul 17, 2019
4bb53e7
Update INDEX.md
fanliang11 Jul 18, 2019
82a01cc
Update INDEX.md
fanliang11 Jul 18, 2019
93926c1
Update INDEX.md
fanliang11 Jul 18, 2019
5939787
Update INDEX.md
fanliang11 Jul 18, 2019
a8c9861
Update INDEX.md
fanliang11 Jul 18, 2019
a7da730
Update INDEX.md
fanliang11 Jul 18, 2019
03a3675
add swagger support jwt authorization
fanliang11 Jul 19, 2019
df9bd5e
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jul 19, 2019
57694b0
fix bug
fanliang11 Jul 20, 2019
e6ff7c8
fix mqtt broker to cancel registration bug
fanliang11 Jul 22, 2019
0ea677b
add AccessSetting options
fanliang11 Jul 24, 2019
ea4b48d
remove reference
fanliang11 Jul 24, 2019
0e27e93
fix bug based on zookeeper mqtt subscription
fanliang11 Jul 25, 2019
6937143
修复通过ServiceRoute设置路由模板生成的swagger文档参数类型不正确的bug
liuhll Jul 27, 2019
2b77a70
Merge pull request #338 from liuhll/bug-swagger-apidoc
fanliang11 Jul 28, 2019
e8eb895
add IPFilterAttribute
fanliang11 Jul 29, 2019
85f3044
add ipChecker
fanliang11 Jul 29, 2019
8e36861
Merge pull request #5 from dotnetcore/master
brucehu123 Jul 30, 2019
9dac788
add stage support whitelist and blacklist setting
fanliang11 Jul 30, 2019
45e6522
change AccessSetting RoutePath
fanliang11 Jul 30, 2019
d4cc5ef
add httpGet,HttpPost,httpput,httpDelete,httpOptions,httpPatch,httpHead
fanliang11 Aug 1, 2019
4cdcee2
change default port
fanliang11 Aug 1, 2019
e37125e
change HttpMethodAttribute
fanliang11 Aug 1, 2019
fc33d1b
add support for http method
fanliang11 Aug 2, 2019
f342d5a
fix bug
fanliang11 Aug 3, 2019
2f41e73
#341 fix bug
fanliang11 Aug 3, 2019
76c5fe9
#341 fix bug
fanliang11 Aug 3, 2019
45016a2
add kestrel Limits options
fanliang11 Aug 4, 2019
916b25c
add consul lock
fanliang11 Aug 6, 2019
b13ca7b
add httpProtocols options
fanliang11 Aug 7, 2019
b0d6113
gc releases the memory resources generated by the creation proxy
fanliang11 Aug 7, 2019
fb2f338
Add support AppSecret Authorization
fanliang11 Aug 9, 2019
0dcfa48
Add support for Apm Skywalking
fanliang11 Aug 10, 2019
ab9076c
Optimized memory usage by 80%
fanliang11 Aug 10, 2019
81f407d
change UdpBehavior
fanliang11 Aug 12, 2019
ba0ab8e
merge code
fanliang11 Aug 12, 2019
64171a1
merge code
fanliang11 Aug 13, 2019
be778fe
change CreateLock
fanliang11 Aug 13, 2019
d6426a8
Add support for rpc and rest tracking
fanliang11 Aug 13, 2019
2d6cc62
fix bug
fanliang11 Aug 13, 2019
d007307
add LOCAL_ADDRESS tracking tag
fanliang11 Aug 13, 2019
7855f37
fix bug
fanliang11 Aug 14, 2019
a1ea99e
Add swagger MapRoutePaths options to support jwt authorization test
fanliang11 Aug 14, 2019
7a1ca3c
Merge pull request #6 from dotnetcore/master
brucehu123 Aug 17, 2019
6935261
add supports rpc and rest call link tracking
fanliang11 Aug 18, 2019
eb9fb3a
add stage
fanliang11 Aug 18, 2019
5d9392a
#354 add RefreshTokenPath option
fanliang11 Aug 19, 2019
a53e0fc
#354 remove refreshToken
fanliang11 Aug 19, 2019
bbd21e7
optimization code
fanliang11 Aug 20, 2019
9b7e373
Add files via upload
fanliang11 Aug 21, 2019
dfdb6c2
Update README.md
fanliang11 Aug 21, 2019
604ae03
Update README.EN.md
fanliang11 Aug 21, 2019
fc6eb19
Update README.md
fanliang11 Aug 21, 2019
e5fb1fe
Add files via upload
fanliang11 Aug 21, 2019
22fc9e9
Delete call-chain.png
fanliang11 Aug 21, 2019
8191085
Add files via upload
fanliang11 Aug 21, 2019
6316603
add support for mqtt transport diagnostics
fanliang11 Aug 24, 2019
35b6a6b
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Aug 24, 2019
c3b1ce4
fix bug
fanliang11 Aug 24, 2019
1b610e3
fix bug
fanliang11 Aug 24, 2019
dd92899
code optimization
fanliang11 Aug 25, 2019
bb78df4
Update README.md
fanliang11 Aug 26, 2019
c832920
Delete 捐赠.png
fanliang11 Aug 26, 2019
7c39f11
merge code
fanliang11 Aug 26, 2019
6dc50fa
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Aug 26, 2019
3c898ea
fix bug
fanliang11 Aug 27, 2019
56af652
Merge pull request #7 from dotnetcore/master
brucehu123 Aug 28, 2019
c08ab7d
Add support for backgroundservice to extend scheduled tasks
fanliang11 Sep 22, 2019
9e9146e
Merge pull request #8 from dotnetcore/master
brucehu123 Sep 23, 2019
d8a43e9
Modify the attached to the task thread to run the background service
fanliang11 Sep 27, 2019
d47197a
Fix Asynchronous failed to get context in RpcContext
fanliang11 Oct 16, 2019
3f71596
Add support for grpc service host
fanliang11 Oct 20, 2019
e1ad9d6
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Oct 20, 2019
7ac5611
Add test to support rest, grpc, rpc
fanliang11 Oct 21, 2019
7412a58
Merge pull request #9 from dotnetcore/master
brucehu123 Oct 24, 2019
d750124
add gateway supports RPC call link tracking
fanliang11 Oct 30, 2019
a203b21
Update grpc nuget package to resolve version conflicts
fanliang11 Oct 31, 2019
4ae7084
Add ISingleInstance to support service single instance initialization
fanliang11 Nov 3, 2019
be43a8d
Fix not configuring Origins setion to support any cross-domain requests
fanliang11 Nov 5, 2019
6ab1da0
Merge pull request #10 from dotnetcore/master
brucehu123 Nov 11, 2019
52e4b17
Fixed the problem that multi-parameter API calls failed based on swagger
fanliang11 Dec 16, 2019
80db38d
Fixed the problem that multi-parameter API calls failed based on swagger
fanliang11 Dec 16, 2019
c6191af
Framework upgraded to netcoreapp3.1
fanliang11 Dec 28, 2019
5f554a0
Fix issues caused by upgrading netcoreapp3.1
fanliang11 Dec 31, 2019
e301756
FEAT: 增加ValidateAttribute校验特性及相关校验处理器
Jan 8, 2020
76c7616
Merge branch 'master' into feat-validate-processor
linch90 Jan 8, 2020
0fa0718
Modify validation processing based on ValidateAttribute
fanliang11 Jan 8, 2020
559b705
Merge branch 'linch90-feat-validate-processor'
fanliang11 Jan 8, 2020
4eddebe
<FEAT>增加Docker部署模式配置
linch90 Jan 8, 2020
6dfd73c
Merge pull request #380 from linch90/feat-docker-deploy-mode
fanliang11 Jan 9, 2020
5afb872
Merge pull request #11 from dotnetcore/master
brucehu123 Jan 10, 2020
8236ad9
添加serilog支持
brucehu123 Jan 12, 2020
6661161
配置文件
brucehu123 Jan 12, 2020
24432e8
修改demo配置文件
brucehu123 Jan 13, 2020
ed833a3
Merge pull request #12 from brucehu123/serilog
brucehu123 Jan 13, 2020
49a30b5
Merge pull request #381 from brucehu123/master
fanliang11 Jan 13, 2020
4b03b50
添加apollo配置中心module
brucehu123 Jan 21, 2020
ca44746
将apollo配置中心功能添加至CPlatform类库中
brucehu123 Jan 27, 2020
ebea0b3
删除Surging.Core.Apollo类库Module
brucehu123 Jan 27, 2020
555b00c
删除不必要的引用;恢复AppConfig.Configuration set的访问范围
brucehu123 Jan 27, 2020
a3c521b
add apollo Configuration
fanliang11 Jan 28, 2020
d088b25
Merge branch 'brucehu123-master'
fanliang11 Jan 28, 2020
e18dd8f
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Jan 28, 2020
cd3ae12
fix(httpformcollection): fix the HttpFormCollection type parameter ca…
linch90 Feb 28, 2020
7c8f296
Merge pull request #387 from linch90/fix-httpformcollection-upload
fanliang11 Feb 28, 2020
a39a06c
Fix the problem of data loss when using rpccontext in the Rest protocol
fanliang11 Mar 3, 2020
2eb7672
Merge branch 'master' of https://github.com/dotnetcore/surging
fanliang11 Mar 3, 2020
a42eb01
fix IHttpContextAccessor unregistered
fanliang11 Mar 9, 2020
5277fe6
updata skyapm.json
fanliang11 Mar 15, 2020
7f1b7fe
updata
fanliang11 Mar 15, 2020
a943800
Fix memory leak caused by calling initialization DiagnosticListener
fanliang11 Mar 23, 2020
9718850
add CacheIntercept Metadata to support routepath-based cache degradation
fanliang11 Mar 30, 2020
0b43f05
add CacheIntercept Metadata to support routepath-based cache degradation
fanliang11 Apr 1, 2020
03b75ce
Modify interceptor parameters through service metadata configuration
fanliang11 Apr 6, 2020
b52cb47
Optimize code
fanliang11 Apr 6, 2020
44fb5ed
Fix performance degradation caused by multiple instances of Diagnosti…
fanliang11 Apr 8, 2020
7be1c04
Set the default value of the ServiceCacheIntercept parameter
fanliang11 Apr 12, 2020
7cfa7c3
Fix rest protocol access error based on cache interceptor
fanliang11 Apr 29, 2020
56f4a19
add thrift rpc, can support to choose dotnetty or thrift as RPC
fanliang11 May 5, 2020
8843ab2
Update README.md
fanliang11 May 5, 2020
af5304e
add thriftclient Dispose
fanliang11 May 6, 2020
bc62651
Merge branch 'master' of https://github.com/fanliang11/surging
fanliang11 May 6, 2020
58deb95
Add weight polling load balancing algorithm
fanliang11 May 28, 2020
49c6035
Add condition to generate Timestamp
fanliang11 May 28, 2020
a9a6abc
Organize the code
fanliang11 May 28, 2020
f9c26c5
Fix inconsistent reference Logging.Abstractions version, resulting in…
fanliang11 May 31, 2020
13c86fe
init engine-cli
fanliang11 Jun 17, 2020
c62d9bf
add notes
fanliang11 Jun 17, 2020
70546f8
add engine-cli curl tool options
fanliang11 Jun 20, 2020
f5522d7
Optimize code, pass parameter command line options
fanliang11 Jun 21, 2020
de8f992
add HttpTransportClient
fanliang11 Jun 27, 2020
4e0015d
engine-cli command line tool adds netty and thrift requests
fanliang11 Jul 19, 2020
2ebb927
For netty and thrift protocols, complete remote debugging using the e…
fanliang11 Aug 9, 2020
a3aa79a
Call netty fails to return detailed error information
fanliang11 Aug 9, 2020
522d462
update code
fanliang11 Aug 9, 2020
710c8e4
add ServiceExceptionFilter
fanliang11 Nov 10, 2020
7471789
Delete ServiceExceptionFilter
fanliang11 Nov 10, 2020
28f10fe
Update ServiceExceptionFilter.cs
fanliang11 Nov 10, 2020
29efe27
Update MongoRepository.cs
firstrose Nov 25, 2020
103bbe9
Update Util.cs
firstrose Nov 25, 2020
6ef86e2
Merge pull request #408 from firstrose/master
fanliang11 Nov 25, 2020
cbfc485
Update ContainerBuilderExtensions.cs
fanliang11 May 4, 2021
16c124b
Fix memory leak problem based on routepath call
fanliang11 Jun 6, 2021
ba5e1d1
destroy RpcContext
fanliang11 Jun 7, 2021
6b92962
destroy RpcContext
fanliang11 Jun 7, 2021
43fbaab
ChannelHandler adds EventLoop I/O thread for asynchronous processing
fanliang11 Jan 23, 2022
ededd68
ChannelHandler adds EventLoop I/O thread for asynchronous processing
fanliang11 Jan 23, 2022
5ac4bac
remove task.run
fanliang11 Jan 23, 2022
3037b35
Upgrade .net 6.0 and support swagger 5.0
fanliang11 Feb 5, 2022
a6df889
support reactive programming
fanliang11 Feb 19, 2022
3ded4d8
add resource file
fanliang11 Mar 5, 2022
b2ff3f7
Add TCP network components that can configure properties
fanliang11 May 14, 2022
0f0d4a5
Add the parameter encodename based on rulepipepayloadparser to overlo…
fanliang11 May 15, 2022
3160c47
Rule script handler method parameter changed from string to function
fanliang11 May 16, 2022
997e892
Support ActionFilter
fanliang11 Oct 7, 2022
d51ec3b
remove swaggger OperationFilter
fanliang11 Oct 7, 2022
71f8ec2
1.Scheduled task supports custom script parse of rule engine
fanliang11 Dec 20, 2022
5edd62e
Support the execution of multiple scheduling tasks
fanliang11 Dec 20, 2022
9936673
Support to extend the middleware based on kestrel http
fanliang11 Jan 4, 2023
c92bcb3
Optimize the problem that the startup is too slow in the debug enviro…
fanliang11 Feb 13, 2023
d13f75e
Add support for web service protocol
fanliang11 Feb 16, 2023
739c7c8
Support token authentication based on web service
fanliang11 Mar 19, 2023
11a1db5
Change business thread processing to MultithreadEventLoopGroup
fanliang11 Apr 10, 2024
a17813a
Add examples based on OpenAPI
fanliang11 Apr 10, 2024
483b9a0
Merge branch 'master' of https://github.com/fanliang11/surging
fanliang11 Apr 10, 2024
49a309d
Channelhandler support libuv type executor
fanliang11 Apr 11, 2024
65b2573
Fix duplicate registration module
fanliang11 Apr 26, 2024
3be8fc0
Update UdpProtocolModule.cs
fanliang11 Apr 26, 2024
23dabab
ServiceCacheIntercept Metadata adds support for the "Enable StageCach…
fanliang11 Apr 27, 2024
6a16366
cacheSettings.json
fanliang11 Apr 27, 2024
b7fbe74
Add the "Enable Object Convert" option to support string to object co…
fanliang11 May 4, 2024
c09fa16
Update io.netty.allocator.numDirectArenas.numDirectArenas=0
fanliang11 Jun 11, 2024
635c8ff
Update DotNettyMessageSender.cs
fanliang11 Jun 18, 2024
63d8fbc
Update DotNettyServerMessageListener.cs
fanliang11 Jun 18, 2024
753f1f8
Update DotNettyMessageSender.cs
fanliang11 Jun 20, 2024
660e73d
Update DotNettyTransportClientFactory.cs
fanliang11 Jul 1, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -195,6 +195,7 @@ ClientBin/
*.pfx
*.publishsettings
node_modules/
!/node_modules/swagger-ui-dist/
orleans.codegen.cs

# Since there are multiple workflows, uncomment next line to ignore bower_components
Expand Down Expand Up @@ -262,3 +263,9 @@ paket-files/
__pycache__/
*.pyc

/src/Surging.Core/Surging.Core.CPlatform/CPlatformResource.en-US.resources
api/
_site/

/src/Surging.ApiGateway
/src/Surging.Services/Surging.Services.Server/Dockerfile
File renamed without changes.
6 changes: 5 additions & 1 deletion README.EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,11 @@
# surging is a distributed micro service framework that provides high-performance RPC remote service calls, using Zookeeper, Consul as the registration center for surging services, integrating hash, random, polling as a load balancing algorithm, RPC integration using the netty framework, Using asynchronous transmission.
<br />

Start configuration:
### Architecture:

<img src="https://github.com/dotnetcore/surging/blob/master/docs/Architecture.png" alt="架构图" />

### Start configuration:

<br/>

Expand Down
24 changes: 20 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# surging                     [English](https://github.com/dotnetcore/surging/blob/master/README.EN.md)
[![Member project of .NET Core Community](https://img.shields.io/badge/member%20project%20of-NCC-9e20c9.svg)](https://github.com/dotnetcore)
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://mit-license.org/)
### surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,RPC集成采用的是netty框架,采用异步传输
### surging 是一个分布式微服务框架,提供高性能RPC远程服务调用,采用Zookeeper、Consul作为surging服务的注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,RPC可以选择采用netty或thrift框架,采用异步非阻塞传输

<br />

Expand All @@ -18,6 +18,11 @@
### 微服务定义
微服务应该是可以自由组合拆分,对于每个业务都是独立的,针对于业务模块的 CRUD 可以注册为服务,而每个服务都是高度自治的,从开发,部署都是独立,而每个服务只做单一功能,利用领域驱动设计去更好的拆分成粒度更小的模块

### 微服务边界
微服务是针对业务的松耦合,也是粒度最小的功能业务模块,针对于行业解决方案,集成相应的service host,而针对于业务需要一些中间件来辅助,比如缓存中间件,eventbus中间件(消息中间件),数据储存中间件,而各个服务又可以互相通过rpc进行可靠性通信。

引擎是微服务的容器,而docker 是服务引擎的容器,而利用k8s或rancher可以针对docker集群化管理,可以服务编排弹性扩容,熟知工具,让工具物尽其用。

### 能做什么
1.简化的服务调用,通过服务规则的指定,就可以做到服务之间的远程调用,无需其它方式的侵入

Expand All @@ -39,9 +44,13 @@ docker hub : docker pull serviceengine/surging:版本号

nuget:Install-Package surging -Version 版本号

### surging模块功能
### 架构图

<img src="https://github.com/dotnetcore/surging/blob/master/docs/Architecture.png" alt="架构图" />

<img src="https://github.com/dotnetcore/surging/blob/master/docs/SurgingFunction.png" alt="surging模块功能" />
### 调用链

<img src="https://github.com/dotnetcore/surging/blob/master/docs/call-chain.png" alt="链路图" />

### 配置:

Expand Down Expand Up @@ -262,11 +271,18 @@ Task.FromResult(new Surging.IModuleServices.Common.Models.UserModel
.AddClientIntercepted(typeof(CacheProviderInterceptor))
```

## 捐赠明细

surging 接受来自社区的捐赠,所有款项将通过 [捐赠明细表](Statement-of-Income-and-Expense.md) 进行公示,接受社区监督。

IDE:Visual Studio 2017 15.5,vscode
<br/>
框架:.NET core 2.1
<br/>
QQ群:615562965
* [Demo](https://github.com/billyang/SurgingDemo)
* [文档](http://docs.dotnet-china.org/surging/)
* [简单示例](https://github.com/dotnetcore/surging/blob/master/docs/docs.en/INDEX.md)

## 谁在使用


64 changes: 64 additions & 0 deletions Statement-of-Income-and-Expense.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# 收支明细表

说明:为保证surging财务公开透明,决定将每一笔捐赠和支出记录于本表,资金由 [fanly](https://github.com/fanliang11) 托管,并且受社区人员监督用于surging的生态发展


## 汇总

截止到 2018 年 12 月 28 日:
+ 共获得捐赠 `49` 笔计 `8679.06` 元人民币
+ 暂无支出项

## 明细

| 序号 | 捐赠人 | 时间 | 金额 | 说明 | 留言 | 类型 |
|------------|:------------:|-------------|--------------------|-------------------|--------------------|-----|
| 1 | Murphy | 2018-12-19 | 100 | Murphy 个人捐赠 | 这家伙很懒 |获赠 |
| 2 | 宗国 | 2018-12-19 | 20 | 宗国 个人捐赠 | 这家伙很懒 |获赠 |
| 3 | 紫能 | 2018-12-19 | 50 | 紫能 个人捐赠 | 这家伙很懒 |获赠 |
| 4 | Damon | 2018-12-19 | 18.8 | Damon 个人捐赠 | 支持一下 |获赠 |
| 5 | 悉路 | 2018-12-19 | 10 | 悉路 个人捐赠 | 感谢作者的付出,希望能完善文档 |获赠 |
| 6 | jiang | 2018-12-19 | 16.66 | jiang 个人捐赠 | 这家伙很懒 |获赠 |
| 7 | 伯锰 z.l | 2018-12-19 | 20 | 伯锰 z.l 个人捐赠 | 期待1.0 |获赠 |
| 8 | 匿名 | 2018-12-19 | 5000 | 匿名个人捐赠 | 这家伙很懒 |获赠 |
| 9 | 爱吃牛排的牛仔 | 2018-12-19 | 66.66 | 爱吃牛排的牛仔个人捐赠 | 这家伙很懒 |获赠 |
| 10 | siyue | 2018-12-20 | 50 | siyue个人捐赠 | 这家伙很懒 |获赠 |
| 11 | 学飞 | 2018-12-20 | 200 | 学飞个人捐赠 | 还在学习,期待surging越来越好 |获赠 |
| 12 | 昵称bai | 2018-12-21 | 10 | 昵称bai个人捐赠 | 这家伙很懒 |获赠 |
| 13 | 半碗的彩霞 | 2018-12-21 | 10 | 半碗的彩霞个人捐赠 | 这家伙很懒 |获赠 |
| 14 | 虎牙 | 2018-12-21 | 1000 | 虎牙个人捐赠 | 这家伙很懒 |获赠 |
| 15 | 寸草无心 | 2018-12-21 | 100 | 寸草无心个人捐赠 | 关注surging已有大半年了 默默支持 |获赠 |
| 16 | 洋 | 2018-12-24 | 1 | 洋个人捐赠 | dotnetty支持websocket了 |获赠 |
| 17 | 高文 | 2018-12-24 | 10 | 高文个人捐赠 | 庆祝1.0 |获赠 |
| 18 | 培根 | 2018-12-24 | 36 | 培根个人捐赠 | 捐赠一杯咖啡 |获赠 |
| 19 | gesneriana | 2018-12-24 | 26 | gesneriana个人捐赠 | 这家伙很懒 |获赠 |
| 20 | 学军 | 2018-12-27 | 100 | 学军个人捐赠 | 这家伙很懒 |获赠 |
| 21 | 高立哲 | 2018-12-27 | 30 | 高立哲个人捐赠 | 这家伙很懒 |获赠 |
| 22 | 俊文 | 2018-12-27 | 10 | 俊文个人捐赠 | 这家伙很懒 |获赠 |
| 23 | 根堂 | 2018-12-28 | 100 | 根堂个人捐赠 | 这家伙很懒 |获赠 |
| 24 | 东周 | 2018-12-28 | 5 | 东周个人捐赠 | 辛苦 |获赠 |
| 25 | 纯 | 2018-12-28 | 20 | 纯个人捐赠 | 这家伙很懒 |获赠 |
| 26 | 夏志行 | 2018-12-28 | 88 | 夏志行个人捐赠 | 这家伙很懒 |获赠 |
| 27 | 勇 | 2018-12-28 | 88.88 | 勇个人捐赠 | 这家伙很懒 |获赠 |
| 28 | 启旺 | 2018-12-28 | 10 | 勇个人捐赠 | 这家伙很懒 |获赠 |
| 29 | 雯昌 | 2018-12-28 | 20 | 雯昌个人捐赠 | 支持surging |获赠 |
| 30 | 宏伟 | 2018-12-28 | 500 | 宏伟个人捐赠 | 这家伙很懒 |获赠 |
| 31 | 伟 | 2018-12-28 | 20 | 伟个人捐赠 | 这家伙很懒 |获赠 |
| 32 | 建 | 2018-12-28 | 10 |建个人捐赠 | 希望大佬搞好文档,在下尽点微薄之力 |获赠 |
| 33 | 林 | 2018-12-29 | 30 |林个人捐赠 | 这家伙很懒 |获赠 |
| 34 | 俊强 | 2018-12-29 | 100 | 俊强个人捐赠 | 这家伙很懒 |获赠 |
| 35 | 彪 | 2018-01-02 | 10 | 彪个人捐赠 | 支持一下surging |获赠 |
| 36 | 忠全 | 2018-01-02 | 200 | 忠全个人捐赠 | 学习一下 |获赠 |
| 37 | 思恒 | 2018-01-03 | 10 | 思恒个人捐赠 | 这家伙很懒 |获赠 |
| 38 | 松波 | 2018-01-04 | 100 | 松波个人捐赠 | 出精品 |获赠 |
| 39 | 先鸿 | 2019-01-05 | 30 | 先鸿个人捐赠 | 加油 |获赠 |
| 40 | 杨坚 | 2019-01-08 | 100 | 杨坚个人捐赠 | 加油,希望surging能形成自己的社区 |获赠 |
| 41 | 济良 | 2019-01-09 | 10 | 济良个人捐赠 | 这家伙很懒 |获赠 |
| 42 | 祥 | 2019-01-11 | 36 | 祥个人捐赠 | 支持大佬,希望.net社区越来越好 |获赠 |
| 43 | 文斌 | 2019-01-14 | 50 | 文斌个人捐赠 | 读书也要交学费,买书起码花点钱 |获赠 |
| 44 | 笋 | 2019-01-25 | 30 | 笋个人捐赠 | 支持一下 |获赠 |
| 45 | Leo | 2019-01-30 | 100 | Leo个人捐赠 | 支持surging |获赠 |
| 46 | 文丽 | 2019-02-01 | 20 | 文丽 | 这家伙很懒 |获赠 |
| 47 | 卫东 | 2019-02-13 | 16 | 卫东 | 这家伙很懒 |获赠 |
| 48 | 安平 | 2019-02-15 | 30 | 安平 | 支持surging,感谢作者付出. |获赠 |
| 49 | MyDAL | 2019-02-19 | 6.66 | MyDAL | 支持国人自己的轮子. |获赠 |
83 changes: 83 additions & 0 deletions docfx.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
{
"metadata": [
],
"build": {
"content": [
{
"files": [
"docs/**.md",
"docs/**/toc.yml",
"toc.yml",
"*.md"
]
}
],
"resource": [
{
"files": [
"**/images/**"
]
}
],
"overwrite": [
{
"files": [
"apidoc/**.md"
],
"exclude": [
"obj/**",
"_site/**"
]
}
],
"dest": "_site",
"globalMetadataFiles": [],
"fileMetadataFiles": [],
"template": [
"default"
],
"postProcessors": [],
"markdownEngineName": "markdig",
"noLangKeyword": false,
"keepFileLink": false,
"cleanupCacheHistory": false,
"disableGitFeatures": false
}
// "pdf": {
// "content": [
// {
// "files": [
// "docs/**.md",
// "docs/**/toc.yml",
// "toc.yml",
// "*.md"
// ]
// }
// ],
// "resource": [
// {
// "files": [
// "**/images/**"
// ],
// "exclude": [
// "**/bin/**",
// "**/obj/**",
// "_site_pdf/**"
// ]
// }
// ],
// "overwrite": [
// {
// "files": [
// "apidoc/**.md"
// ],
// "exclude": [
// "**/bin/**",
// "**/obj/**",
// "_site_pdf/**"
// ]
// }
// ],
// "dest": "_site_pdf"
// }
}
Binary file added docs/Architecture.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
45 changes: 45 additions & 0 deletions docs/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Surging文档贡献指南

## docfx的安装与使用
### 1. 打开`powershell`,使用如下命令安装[Chocolatey](https://chocolatey.org/install)
```shell
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
```

### 2. 安装`docfx`工具
```shell
choco install docfx -y
```
> **Notes**
> - 安装完`docfx`之后需要重启`powershell`,才会有`docfx`命令

### 3. `docfx`的使用
```shell
# 构建文档
docfx build

# 构建文档同时本地预览
docfx build -s

# 本地预览文档
docfx serve
```
> **Notes**
> - 更多关于`docfx`工具使用教程的请[参考](https://dotnet.github.io/docfx/tutorial/docfx.exe_user_manual.html)

## 如何成为开发者文档贡献者
我们欢迎所有有能力的开发者为surging社区做出自己的贡献,为surging的发展贡献自己的力量。您可以通过qq群或是issues向作者申请成为文档作者。我们会将文档的贡献者显示在开发者文档相关页面,对所有做出贡献的开发者表示感谢。

## 编写开发者文档

### 1. 新增文档目录
在[`./docs/toc.yml`](./toc.yml)新增文档目录,并在首页[`./docs/index.md`](./index.md)中创建相关的链接。

### 2. 编写开发者文档
使用`markdown`编写开发者文档,将文档存放到相关模块的目录下。关于文档写作规范请[参考](https://github.com/ruanyf/document-style-guide)。

### 3. 提交并发起PR
发起pr后,经作者审核通过,将会合并到主分支。

## 投稿
欢迎开发者向社区投稿关于surging或是微服务相关的博客,您可以选择同时发表到其他平台,但是必须是原创的。请将相关的博文存放在`./docs/blogs`目录下,并向社区提交`PR`。
3 changes: 3 additions & 0 deletions docs/blogs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Surging相关博文

## 欢迎投稿
Binary file added docs/call-chain.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
41 changes: 39 additions & 2 deletions docs/docs.cn/INDEX.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,40 @@
surging is a high-performance microservice framework based on the .NET core language,It was created by an individual and designed for use in the cloud,
Then add to dotnetcore
# surging的介绍              

```
作者:fanly 校对:fanly
```

什么是Surging

surging 是微服务引擎,提供了轻量级,高性能,模块化的RPC请求管道,服务引擎支持http、TCP、WS、Mqtt、UDP、DNS协议,采用了Zookeeper、Consul作为注册中心,集成了哈希,随机,轮询,压力最小优先作为负载均衡的算法,内置了服务治理用来保证可靠性RPC通信

使用surging你可以:

* 构建Web应用程序,微服务和api网关
* 微服务可以部署在docker。可以使用k8s、rancher服务编排弹性扩容
* 提供了多协议支持
* 支持负载平衡分流压力
* 基于.NET Core的跨平台可以在Windows,macOS和Linux上运行;也可以移植到其他操作系统。
* 简化的服务调用,通过服务规则的指定,就可以做到服务之间的远程调用,无需其它方式的侵入
* 服务自动注册与发现,不需要配置服务提供方地址,注册中心基于ServiceId 或者RoutePath查询服务提供者的地址和元数据,并且能够平滑添加或删除服务提供者。
* 软负载均衡及容错机制,通过surging内部负载算法和容错规则的设定,从而达到内部调用的负载和容错
* 分布式缓存中间件:通过哈希一致性算法来实现负载,并且有健康检查能够平滑的把不健康的服务从列表中删除
* 事件总线:通过对于事件总线的适配可以实现发布订阅交互模式
* 容器化持续集成与持续交付 :通过构建一体化Devops平台,实现项目的自动化构建、部署、测试和发布,从而提高生产环境的可靠性、稳定性、弹性和安全性。
* 业务模块化驱动引擎,通过加载指定业务模块,能够更加灵活、高效的部署不同版本的业务功能模块

基于surging微服务的开发人员提供以下好处:

* 统一构建微服务。
* 内置依赖注入,您可以自由组合依赖组件。
* 内置服务注册中心。
* 内置网关可以统一外部访问和管理。
* 轻量级,高性能,模块化的RPC请求管道。
* 能够在您自己的进程中托管IIS或自托管。
* 可以在.NET Core上运行,能够在Windows,macOS和Linux上构建和运行
* 简化繁琐的维护。
* 基于github平台的开源。
* 支持负载平衡分流压力。
* 支持多协议服务主机。
* 内置服务化治理。
* 支持引用、Nuget Install Package、扫描三种方式来加载组件和业务模块
62 changes: 62 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
# 关于开发者文档

## 文档简介

## 目录
- [概述](quick-start/index.md)
- - [surging 简介]()
- - [版本更新]()
- [教程]()
- - [服务主机如何构建]()
- - - [依赖注入服务]()
- - - [配置日志组件]()
- - - [如何设置成服务提供者]()
- - - [启动配置]()
- - - [配置文件构建]()
- - [协议主机构建]()
- - - [构建TCP协议服务主机]()
- - - [构建MQTT协议服务主机]()
- - - [构建WS协议服务主机]()
- - - [构建UDP协议服务主机]()
- - - [构建Http协议服务主机]()
- - - [构建Dns协议服务主机]()
- - [如何构建微服务]()
- - - [微服务规则]()
- - - [配置routepath]()
- - - [配置ServiceMetadata]()
- - - [服务拦截器配置]()
- - - [配置依赖注入]()
- - - [如何配置和读取配置项]()
- - [服务注册发现和服务治理]()
- - - [consul的注册与发现]()
- - - [zookeeper的注册与发现]()
- - - [服务路由的负载均衡]()
- - - [容错策略]()
- - - [服务熔断]()
- - [引擎核心组件]()
- - - [配置使用Swagger组件]()
- - - [配置ProtoBuffer、MessagePack或Json.net组件编解码消息]()
- - - [配置Log4net日志组件]()
- - - [配置NLog日志组件]()
- - - [配置Stage关卡组件]()
- - - [配置扩展SystemModule组件]()
- - - [配置扩展BusinessModule组件]()
- - - [配置扩展EnginePartModule组件]()
- - - [配置扩展KestrelHttpModule组件]()
- - [中间件]()
- - - [缓存中间件]()
- - - [消息中间件]()
- - [网关]()
- - - [配置gatewaySettings.json文件]()
- - - [jwt鉴权]()
- - - [基于Stage生成的第三方接口网关]()
- [示例]()
- - [缓存中间件使用]()
- - [消息中间件使用]()
- - [服务之间本地和远程调用]()
- [部署]()
- - [引擎部署到window环境中]()
- - [引擎部署到linux环境容器中]()
- - [引擎构建镜像push到镜像库]()
- - [扫描业务模块组件和中间件装载到引擎中]()
- - [基于rancher 服务编排 ]()
Empty file added docs/quick-start/index.md
Empty file.
Loading