agent-backend/README.md
CaiHQ 098c167a95 merge feature-dengshuang
step1. prune ContractExecutor
2021-11-18 19:50:21 +08:00

84 lines
2.6 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#项目说明
在每个bundle
git clone后
都执行
创建
```bash
git submodule update --init
```
建立追踪
```bash
git submodule foreach -q --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'
````
# WebContent
初始化,建立软连接.
第一个参数必须要绝对地址
第二个可以是相对地址
```bash
ln -s ..../bdcontract-web-ide/ ./WebContent/ide
```
# 设置
CMHttpServer的run configuration里配置好路径为"xxx/bdcontract-bundle/agent-backend"
在启动完成后,需要在 [节点管理](http://127.0.0.1:21035/NodePortal.html) 配置``./yjs.jar``的路径。建议为绝对路径"xxx/cp-bundle/cp/build/output/yjs.jar"
#
## Docker镜像制作
把`Dockerfile`放到一个目录,同时把编译好的`bdagent-lite.zip`放到同一目录,并解压、制作镜像:
```
c07e0791-4e37-422b-86e4-31307cd803f1
cd ./build/output/
cp ../../Dockerfile ./
docker build -t bdwaas/bdcontract:tag
docker push bdwaas/bdcontract:tag
docker push
```
## 笔记待梳理监听端口与EventGroup
### 服务端
1) port: http & websocket server port
2) port+1: tcp server port
httpServer与tcpServer 共用同一组EventLoopGroup, boss group CMHttpServer.workergroup
workerGroup对应的异步线程池ContractManagerFrameHandler.executorService
3) port+2: doip server port
ContractRepositoryMain是自己有一组workergroup
4) port+3: prometheus server port
prometheus自己管理newFixedThreadPool(5)
5) ContractManager本地监听端口1615+X
ServiceServer里面独立的workerGroup/bossGroup
ServiceServer.executor
### 客户端
1) TCP连接NodeCenter
Bootstrap都在CMActions里面实例化独立声明的EventLoopGroup group = new NioEventLoopGroup()。
ContractManagerFrameHandler.executorService
2) TCP连接其他Master
每个连接一个Bootstrap
b.group(CMHttpServer.workerGroup)直接是与http/tcp/Server的worker Group。
MasterClientFrameHandler.executorService
是网络忙还是计算忙?
是只在发端控制?还是收发一起控制?
对于单个节点的视角
TCPClient发前流量控制检查->TCPServer收到后强保障
* 当前版本仅在Http端控制队列长度
* 0331周计划版本在CMHttpServer.workerGroup控制
* 需要理清异步线程池。
## 线程池
ContractManager.executor是一个可扩容线程池front-agent中所有线程执行需求都可以合并进去。
合并时建议按照自己的线程执行需求对核心线程数ContractManager.executor构造函数的第一个参数进行增加并适量提高最大线程数第二个参数