Go to file
2024-12-23 16:13:27 +08:00
contracts feat: update event mechanism 2021-10-31 23:07:14 +08:00
dynamicLibrary fix sigar dynamiclib missing 2023-03-30 23:51:52 +08:00
keys initial commmit 2021-09-26 12:49:24 +08:00
lib upgrade common 2022-05-23 17:14:09 +08:00
script add support for remote debug 2022-09-02 21:31:23 +08:00
src feat: support regx match 2024-05-23 15:28:42 +08:00
ssl initial commmit 2021-09-26 12:49:24 +08:00
WebContent chore: add scripts and set tools 2021-10-29 17:47:48 +08:00
.gitignore update docker files 2024-12-23 16:13:27 +08:00
build.gradle update docker files 2024-12-23 16:13:27 +08:00
cmconfig.readme.md add update node manager 2022-11-29 15:14:58 +08:00
CommitAlgorithm.README.md merge feature-dengshuang 2021-11-18 19:50:21 +08:00
Dockerfile initial commmit 2021-09-26 12:49:24 +08:00
LICENSE revise licenses 2021-10-15 10:03:01 +08:00
README.md merge feature-dengshuang 2021-11-18 19:50:21 +08:00

#项目说明 在每个bundle git clone后 都执行 创建

git submodule update --init

建立追踪

git submodule foreach -q --recursive 'git checkout $(git config -f $toplevel/.gitmodules submodule.$name.branch || echo master)'

WebContent

初始化,建立软连接. 第一个参数必须要绝对地址 第二个可以是相对地址

ln -s ..../bdcontract-web-ide/ ./WebContent/ide

设置

CMHttpServer的run configuration里配置好路径为"xxx/bdcontract-bundle/agent-backend"

在启动完成后,需要在 节点管理 配置./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构造函数的第一个参数进行增加并适量提高最大线程数第二个参数