mirror of
https://github.com/duanhf2012/origin.git
synced 2026-02-03 22:45:13 +08:00
优化readme文档
This commit is contained in:
55
README.md
55
README.md
@@ -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会往对应的
|
||||
|
||||
Endpoints:Etcd服务器地址
|
||||
|
||||
|
||||
|
||||
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 @@ NatsUrl:Nats连接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使用
|
||||
-----------------------
|
||||
|
||||
|
||||
Reference in New Issue
Block a user