优化readme文档

This commit is contained in:
duanhf2012
2024-10-09 10:08:17 +08:00
parent 75790302ec
commit 64c14eb326

View File

@@ -14,17 +14,7 @@ origin 解决的问题:
Hello world!
------------
下面我们来一步步的建立origin服务器,先下载[origin引擎](https://github.com/duanhf2012/origin "origin引擎"),或者使用如下命令
```go
go get -v -u github.com/duanhf2012/origin/v2
```
建议使用origin v2版本import引用中都加入v2
[README.md](README.md)
于是下载到GOPATH环境目录中,在src中加入main.go,内容如下:
下面我们来一步步的建立origin服务器,建议使用origin v2版本内容如下
```go
package main
@@ -43,11 +33,19 @@ func main() {
一个origin进程需要创建一个node对象,Start开始运行。您也可以直接下载origin引擎示例:
```
go get -v -u github.com/duanhf2012/originserver_v2
git clone https://github.com/duanhf2012/originserver_v2.git
```
本文所有的说明都是基于该示例为主。
我们也提供了示例项目,包含网络模块(支持tcp,kcp,websocket)、角色加载登录流程,存档,配置读取等功能。请参照:
```
git clone https://github.com/duanhf2012/origingame.git
```
origin引擎三大对象关系
----------------------
@@ -69,16 +67,10 @@ origin的配置文件以json格式主要包含Discovery、RpcMode、NodeList
}
```
### Discovery部分
origin目前支持etcd与origin自带的服务发现类型。
Etcd方式示例
```json
@@ -106,8 +98,6 @@ NetworkName所在的网络名称可以配置多个。node会往对应的
EndpointsEtcd服务器地址
Origin方式示例
```json
@@ -130,8 +120,6 @@ TTLSecond表示健康检查TTL失效时间10秒
MasterNodeList指定哪些Node为服务发现Master结点需要配置NodeId与ListenAddr注意它们要与实际的Node配置一致。
### RpcMode部分
默认模式
@@ -146,8 +134,6 @@ MasterNodeList指定哪些Node为服务发现Master结点需要配置NodeI
默认模式下origin的node之前通过tcp连接组网。
Nats模式
```json
@@ -167,8 +153,6 @@ NatsUrlNats连接url串
NoRandomize:在多连接集群模式下连接nats节点是否顺序策略。false表示随机连接true表示顺序连接。
### NodeList部分
```
@@ -212,8 +196,6 @@ NoRandomize:在多连接集群模式下连接nats节点是否顺序策略。f
在启动程序命令originserver -start nodeid="node_1"中nodeid就是根据该配置装载服务。
更多参数使用请使用originserver -help查看。
### Service 部分
service.json如下
@@ -318,8 +300,6 @@ service.json如下
* PendingWriteNum发送网络队列最大数量
* MaxMsgLen:包最大长度
### Global部分
```json
@@ -342,8 +322,6 @@ if ok == false {
areaId, ok := mapGlobal["AreaId"]
```
---
第一章origin基础:
@@ -510,7 +488,6 @@ func (slf *TestService1) OnInit() error {
}
```
性能监控功能:
-------------
@@ -887,10 +864,11 @@ func (slf *TestService7) GoTest(){
您可以把TestService6配置到其他的Node中比如NodeId为2中。只要在一个子网origin引擎可以无差别调用。开发者只需要关注Service关系。同样它也是您服务器架构设计的核心需要思考的部分。
第六章:并发函数调用
---------------
--------------------
在开发中经常会有将某些任务放到其他协程中并发执行,执行完成后,将服务的工作线程去回调。使用方式很简单,先打开该功能如下代码:
```
//以下通过cpu数量来定开启协程并发数量建议:(1)cpu密集型计算使用1.0 (2)i/o密集型使用2.0或者更高
slf.OpenConcurrentByNumCPU(1.0)
@@ -901,6 +879,7 @@ func (slf *TestService7) GoTest(){
```
使用示例如下:
```
func (slf *TestService13) testAsyncDo() {
@@ -954,9 +933,8 @@ func (slf *TestService13) testAsyncDo() {
}
```
第七章:服务发现
--------------------
----------------
origin引擎默认使用读取所有结点配置的进行确认结点有哪些Service。引擎也支持动态服务发现的方式支持etcd与origin类型具体请参照【配置说明】部分Node结点可以配置只发现某些服务如下示例
@@ -979,12 +957,11 @@ origin引擎默认使用读取所有结点配置的进行确认结点有哪些Se
}]
}
```
DiscoveryService在当前nodeid为nodeid_test的结点中只发现 MasterNodeId为nodeid_1或NetworkName为networkname1网络中的TestService8服务。
**注意**MasterNodeId与NetworkName只配置一个分别在模式为origin或者etcd服务发现类型时。
第八章HttpService使用
-----------------------