端口规划文档.md

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
端口规划文档

>> 概述

总控引擎的任务因为是在客户提供的环境下运行, 所以端口需要规划, 避免出现与客户部署的服务端口冲突的情况

同时, 也需要告知客户有哪些端口需要放开, 避免防火墙

每个端口只会分配一个固定的组件, 组件如果废弃掉, 端口再分配给另一个组件, 这样避免多个版本组件端口冲突的情况

目前待规划的端口池 [22000-29000)

>> 蓝图

>>> 总控

总控和总控组件 [29000-29100)

可视化和可视化组件 [29100-29200)

全流量组件 [29200-29300]

API 组件 [29300-29400)

第三方组件 [29900-30000)


>>> 引擎

>>>> HA 组件

管理面 HA 组件 [20100-20133)

调度节点 HA 组件 [20133-20166)

>>>> 引擎安装组件

自研组件 [20000, 20100)

>>>> 管理面组件

自研组件 [20200-20300)

第三方组件 [20300-20400)

>>>> 调度节点组件

自研组件 [28900-28950)

>>>> 数据面组件

自研组件 [28950-29000)

>> 总控使用的端口

>>> 概述

总控使用端口思路不用太严格, 因为总控是与引擎分开部署的, 理论上这台机器没有引擎运行

总控除了80 443外使用 [29000-30000) (包括29000, 不包括 30000)

sc 和 sc的组件使用 [29000-29100)

sv 和 sv的组件使用 [29100-29200)

全流量和全流量组件 [29200-29300)

API 组件 [29300-29400)

总控的第三方组件使用 [29900-30000)

sc(80 443 8080) -> 29000

installer(8098) -> 29001

meta(29010) -> 29010

sv(20522) -> 29100

mongodb(27017) -> 29900

redis(6379) -> 29901

mysql(3306) -> 29902

etcd(2379 2380) -> 29903 29904

AgentServer(29201,29202) # 2024/4/7

>> 引擎

>>> 概述

引擎使用端口思路是必须要严格而且要整齐, 因为引擎要负责服务转发, 需要与客户共享端口资源

引擎拆分后有 SE-M SE-S SE-W , 三个组件 都可以部署一台节点上, 也可以分开部署, 直接视为部署到一台节点的情况.

引擎使用 [20000-29000) 的端口, 其中管理面使用 [20200-28900), 调度节点使用 [28900-28950), 数据面使用 [28950-29000), 这样安排的理由是, 管理面可能开较多的插件服务, 端口是为插件服务提供的.

安装引擎的服务统一规划, 安装引擎目前不管是什么组件, 都是通过 agent 统一安装的, 所以 agent 端口都是 20000, 引擎安装使用 [20000, 20100)

引擎HA在引擎端口下统一规划, 每个引擎节点不管是什么组件, 都有 nexus 服务, 端口都是 20100, nexus 属于 HA 相关组件, HA 相关的服务使用 [20100, 20200)



>>> 引擎组件和对应的端口

>>>> SE-M 管理面组件

>>>>> 管理面节点安装的服务使用 [20000-20010) 端口, 管理面自研应用使用 [20200-20300), 管理面第三方组件 [20300-20400), 管理面插件应用使用 [21000-22000), 管理面 HA 组件 [20100-20133), admin_dam 和 data_dam 比较特殊, 其中端口做到了复用, admin_dam和data_dam共用了 28952 端口, 一个绑定 127.0.0.1, 一个绑定 VIP, 所以不会冲突



agent(8099) -> 20000

nexus(8000) -> 20100

admin_ha(6898) -> 20101

webserver(8299 8298) -> 20200 20201

etcd(2379 2380) -> 20300 20301

apiserver(6443) -> 20302

全局限速(7676) -> 21000

admin_dam($VIP:7000 8899 8443) -> $VIP:28952 20202 20203

>>>> SE-S 调度节点组件

>>>>> 调度节点 HA 使用 [20133-20166)



agent(8099) -> 20000

data_ha grpc(6899) -> 20133

* nexus(8000) -> 20100

>>>> SE-W 数据面组件

>>>>> 数据面 HA使用 [20166-20199), 数据面自研应用使用 [28950-29000)

agent(8099) -> 20000

nexus(8000) -> 20100

envoy(9902) -> 28950

data_dam(9977 127.0.0.1:7000) -> 28951 127.0.0.1:28952

polycube(9000) -> 28953

super_glue 28954 内部组件使用端口, envoy 相关

dataWorker(6879)

边车模式 -> 28960-28965


端口规划文档.md
https://abrance.github.io/2024/09/04/mdstorage/project/sr/端口规划/
Author
xiaoy
Posted on
September 4, 2024
Licensed under