Files
obsidian_vault/技术研究/OpenIM/OpenIM服务.canvas
T
2025-12-27 11:44:50 +08:00

549 lines
11 KiB
Plaintext
Raw 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.
{
"edges":[
{
"id":"5311072484566988",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"a088e85e91293434",
"fromSide":"bottom",
"toNode":"24c1312b4fc764d7",
"toSide":"top"
},
{
"id":"2f6ce6e78eebc535",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"7e034ab4587534f8",
"fromSide":"bottom",
"toNode":"24c1312b4fc764d7",
"toSide":"top"
},
{
"id":"ca86ea0bc78e362d",
"styleAttributes":{},
"toFloating":false,
"fromNode":"bb32b85e68a3c5a6",
"fromSide":"bottom",
"toNode":"24c1312b4fc764d7",
"toSide":"top"
},
{
"id":"dcb49779f1396c86",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"f9483b9c68b4ca95",
"fromSide":"bottom",
"toNode":"24c1312b4fc764d7",
"toSide":"top"
},
{
"id":"fa48c88118e041cd",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"d541ad6e1481d9b3",
"fromSide":"bottom",
"toNode":"24c1312b4fc764d7",
"toSide":"top"
},
{
"id":"d203c1ec3edcb103",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"4f62d8a7660f5155",
"fromSide":"bottom",
"toNode":"6f1d4aa0e394c3fc",
"toSide":"top"
},
{
"id":"50735bd49c8ebf40",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"7d2f4e279def45da",
"fromSide":"bottom",
"toNode":"6f1d4aa0e394c3fc",
"toSide":"top"
},
{
"id":"1af01a2210ca6691",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"6286d89761a9c395",
"fromSide":"bottom",
"toNode":"6f1d4aa0e394c3fc",
"toSide":"top"
},
{
"id":"021fff7e70488500",
"styleAttributes":{},
"toFloating":false,
"fromFloating":false,
"fromNode":"2f7f8d771e76ac3d",
"fromSide":"bottom",
"toNode":"28adebc518af8f41",
"toSide":"top",
"label":"ws://url/uri+token"
},
{
"id":"157a8b8b3d433ec7",
"styleAttributes":{},
"toFloating":false,
"fromNode":"566be66ace698d58",
"fromSide":"bottom",
"toNode":"78ea03c7259f97a0",
"toSide":"top"
},
{
"id":"f8c655b3c2eb9131",
"styleAttributes":{},
"toFloating":false,
"fromNode":"8fe0b6419e0b01b1",
"fromSide":"bottom",
"toNode":"e637376395b8424b",
"toSide":"top"
},
{
"id":"534d1591d591ab16",
"styleAttributes":{},
"toFloating":false,
"fromNode":"a7cd89568ff94edd",
"fromSide":"bottom",
"toNode":"aaecfc8d2cd8987a",
"toSide":"top"
},
{
"id":"88420432ef7d7cba",
"styleAttributes":{},
"toFloating":false,
"fromFloating":false,
"fromNode":"a7cd89568ff94edd",
"fromSide":"right",
"toNode":"2f7f8d771e76ac3d",
"toSide":"left",
"label":"token"
},
{
"id":"d47b295180f5154e",
"styleAttributes":{},
"toFloating":false,
"fromNode":"a5311e2ceb1af6ff",
"fromSide":"bottom",
"toNode":"5eef7d3ff512845b",
"toSide":"top"
},
{
"id":"11bfa021e47bee6a",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"1d968add45109fc4",
"fromSide":"bottom",
"toNode":"778d251815154128",
"toSide":"left"
},
{
"id":"9ec97e188133650d",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"778d251815154128",
"fromSide":"top",
"toNode":"1d968add45109fc4",
"toSide":"right"
},
{
"id":"8497a83162464f1f",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"9bc530c3107092b1",
"fromSide":"bottom",
"toNode":"1d968add45109fc4",
"toSide":"left"
},
{
"id":"c9fbcb78c7de38b9",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"9bc530c3107092b1",
"fromSide":"bottom",
"toNode":"e3b18695fa20f63e",
"toSide":"left"
},
{
"id":"4d8a4d511cdaee2b",
"styleAttributes":{},
"toFloating":false,
"fromNode":"5989527a0beba624",
"fromSide":"right",
"toNode":"9bc530c3107092b1",
"toSide":"left",
"fromEnd":"arrow",
"label":"Websocket长连接"
},
{
"id":"eec3fe18d6abba52",
"styleAttributes":{},
"toFloating":false,
"fromNode":"5989527a0beba624",
"fromSide":"bottom",
"toNode":"e59f51d6cc055628",
"toSide":"top"
},
{
"id":"5510d08807d7b4e5",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromNode":"e59f51d6cc055628",
"fromSide":"bottom",
"toNode":"0160569168edd2f4",
"toSide":"top"
},
{
"id":"d18ce4da305bb2e7",
"styleAttributes":{"pathfindingMethod":"square"},
"toFloating":false,
"fromFloating":false,
"fromNode":"e59f51d6cc055628",
"fromSide":"bottom",
"toNode":"1d2ec3b7b7a40c8f",
"toSide":"top"
}
],
"metadata":{
"frontmatter":{},
"version":"1.0-1.0"
},
"nodes":[
{"id":"a1a0f1f7f1faf671","type":"group","x":1280,"y":100,"width":670,"height":640,"label":"MsgGateway服务"},
{"id":"e6cf0f9ce7031bb7","type":"group","x":-500,"y":-400,"width":760,"height":380,"label":"服务端"},
{"id":"32f5104e2e1236c4","type":"group","x":-500,"y":-820,"width":760,"height":320,"label":"SDK"},
{"id":"6f1d4aa0e394c3fc","type":"group","x":-480,"y":-220,"width":720,"height":180,"label":"下层服务"},
{"id":"a5311e2ceb1af6ff","type":"group","x":400,"y":-340,"width":560,"height":100,"label":"Auth服务"},
{"id":"96073594a2eb838c","type":"group","x":400,"y":-680,"width":560,"height":100,"label":"客户端SDK"},
{"id":"aaecfc8d2cd8987a","type":"group","x":400,"y":-500,"width":280,"height":100,"label":"APIService"},
{"id":"28adebc518af8f41","type":"group","x":700,"y":-500,"width":260,"height":100,"label":"MsgGateway"},
{
"id":"a088e85e91293434",
"styleAttributes":{},
"text":"Android",
"type":"text",
"x":-480,
"y":-800,
"width":140,
"height":60
},
{
"id":"2f7f8d771e76ac3d",
"type":"text",
"text":"WebSocket客户端",
"styleAttributes":{"textAlign":"center"},
"x":740,
"y":-660,
"width":180,
"height":60
},
{
"id":"7e034ab4587534f8",
"styleAttributes":{},
"text":"iOS",
"type":"text",
"x":-328,
"y":-800,
"width":114,
"height":60
},
{
"id":"f9483b9c68b4ca95",
"styleAttributes":{},
"text":"Browser",
"type":"text",
"x":-26,
"y":-800,
"width":126,
"height":60
},
{
"id":"bb32b85e68a3c5a6",
"styleAttributes":{},
"text":"MiniApp",
"type":"text",
"x":-184,
"y":-800,
"width":128,
"height":60
},
{
"id":"d541ad6e1481d9b3",
"styleAttributes":{},
"text":"Other",
"type":"text",
"x":126,
"y":-800,
"width":114,
"height":60
},
{
"id":"a7cd89568ff94edd",
"type":"text",
"text":"Http连接",
"styleAttributes":{"textAlign":"center"},
"x":440,
"y":-660,
"width":200,
"height":60
},
{
"id":"7e54ebcf5ca41a90",
"styleAttributes":{"textAlign":"center"},
"text":"长连接(WebSocket",
"type":"text",
"x":-230,
"y":-580,
"width":220,
"height":60
},
{
"id":"24c1312b4fc764d7",
"styleAttributes":{"textAlign":"center"},
"text":"Core SDK With Golang",
"type":"text",
"x":-480,
"y":-680,
"width":720,
"height":60
},
{
"id":"643fefa30582c725",
"styleAttributes":{"textAlign":"center"},
"text":"短连接(Http",
"type":"text",
"x":-480,
"y":-580,
"width":220,
"height":60
},
{
"id":"275361f8bd185882",
"styleAttributes":{"textAlign":"center"},
"text":"用户信息",
"type":"text",
"x":-440,
"y":-200,
"width":140,
"height":60
},
{
"id":"7d2f4e279def45da",
"styleAttributes":{"textAlign":"center"},
"text":"API服务\n微服务远程调用",
"type":"text",
"x":-480,
"y":-360,
"width":220,
"height":60
},
{
"id":"81daaa946bed5ffc",
"styleAttributes":{"textAlign":"center"},
"text":"朋友/群组",
"type":"text",
"x":-440,
"y":-120,
"width":140,
"height":60
},
{
"id":"3e6f641292cc4dd2",
"styleAttributes":{"textAlign":"center"},
"text":"会话信息",
"type":"text",
"x":-190,
"y":-120,
"width":140,
"height":60
},
{
"id":"4f62d8a7660f5155",
"styleAttributes":{"textAlign":"center"},
"text":"MsgGateway\nWebSocket长连接服务",
"type":"text",
"x":-230,
"y":-360,
"width":220,
"height":60
},
{
"id":"6286d89761a9c395",
"styleAttributes":{"textAlign":"center"},
"text":"其他服务",
"type":"text",
"x":20,
"y":-360,
"width":220,
"height":60
},
{
"id":"8fe0b6419e0b01b1",
"type":"text",
"text":"API服务",
"styleAttributes":{"textAlign":"center"},
"x":440,
"y":-480,
"width":200,
"height":60
},
{
"id":"566be66ace698d58",
"type":"text",
"text":"发起连接",
"styleAttributes":{"textAlign":"center"},
"x":740,
"y":-480,
"width":180,
"height":60
},
{
"id":"afadf110737841fe",
"styleAttributes":{"textAlign":"center"},
"text":"用户认证",
"type":"text",
"x":-190,
"y":-200,
"width":140,
"height":60
},
{
"id":"e6a84d96ead95498",
"styleAttributes":{"textAlign":"center"},
"text":"信息",
"type":"text",
"x":60,
"y":-200,
"width":140,
"height":60
},
{
"id":"782074c3ea044381",
"styleAttributes":{"textAlign":"center"},
"text":"三方",
"type":"text",
"x":60,
"y":-120,
"width":140,
"height":60
},
{
"id":"78ea03c7259f97a0",
"type":"text",
"text":"ParseToken\n解析Token",
"styleAttributes":{"textAlign":"center"},
"x":740,
"y":-320,
"width":180,
"height":60
},
{
"id":"e637376395b8424b",
"type":"text",
"text":"创建一个Token",
"styleAttributes":{"textAlign":"center"},
"x":440,
"y":-320,
"width":200,
"height":60
},
{
"id":"5eef7d3ff512845b",
"type":"text",
"text":"AuthDatabase\n基于Redis的缓存服务",
"styleAttributes":{"textAlign":"center"},
"x":440,
"y":-200,
"width":480,
"height":60
},
{
"id":"5989527a0beba624",
"type":"text",
"text":"客户端SDK",
"styleAttributes":{},
"x":300,
"y":120,
"width":260,
"height":60
},
{
"id":"e59f51d6cc055628",
"type":"text",
"text":"客户端类型",
"styleAttributes":{},
"x":361,
"y":210,
"width":139,
"height":60
},
{
"id":"0160569168edd2f4",
"type":"text",
"text":"GoBaseSDK-GOB",
"styleAttributes":{"textAlign":"center"},
"x":261,
"y":300,
"width":169,
"height":60
},
{
"id":"1d2ec3b7b7a40c8f",
"type":"text",
"text":"Others-JSON",
"styleAttributes":{"textAlign":"center"},
"x":431,
"y":300,
"width":169,
"height":60
},
{
"id":"9bc530c3107092b1",
"type":"text",
"text":"WebSocket Client",
"styleAttributes":{},
"x":1310,
"y":120,
"width":260,
"height":60
},
{
"id":"e3b18695fa20f63e",
"type":"text",
"text":"ticker drived heartbeat",
"styleAttributes":{},
"x":1500,
"y":240,
"width":240,
"height":60
},
{
"id":"1d968add45109fc4",
"type":"text",
"text":"readMessage",
"styleAttributes":{},
"x":1500,
"y":400,
"width":200,
"height":60
},
{
"id":"778d251815154128",
"type":"text",
"text":"处理消息",
"styleAttributes":{"textAlign":"center"},
"x":1720,
"y":520,
"width":200,
"height":60
}
]
}