ConVnet新版开发计划会议摘要
如何解决服务器间的相互发现?
经过讨论决定:放弃服务器直接的相互发现,取而代之的是稳定的命名规则,有了稳定的命名规则用户始终能定位到唯一的服务器上的唯一用户
用户连接串大概格式如下,可能会有变动:
cvn://服务器地址/user/用户名 如:cvn://218.94.12.3:8092/user/yuyuhaso
虚拟网连接串大概格式如下,可能会有变动:
cvn://服务器地址/group/组名 如:cvn://218.94.12.3:8092/group/War3
以上是类似于域名解析的规则,基本上也是蛮口语化的一种描述,看到以上的连接串可以很明确的定位到一个网络或者一台机器,这样一来用户可以发现足够多的新服务器,就像发现新的网站一样
CVN需要建立成一个没有中心服务器的虚拟网络,各个分服务器如何组织管理用户?
经过讨论决定:各个分服务器各自管理自己的用户群和虚拟网络,这样减少了设计复杂度,而且便于服务器管理员进行管理,使得服务器的功能更加灵活而不仅仅沦 落为一种资源,而是让管理员能 够更好的行使自己的权利,我想这样做也更加有利于ConVnet的发展:),没有行使特权的权利我想不会有很多人愿意架设ConVnet的服务器。
如何解决IP地址的分配?
既然用户是相对独立的,那么可以用用户ID来进行管理,使用10.x.x.x网段,地址由用户的ID来进行分配
那么接踵而来的问题就是:不同服务器之间的互联问题,因为不同服务器直接用户可能存在相同的ID,ID决定了用户的IP,那么势必造成IP的冲突
我们的解决方案是:让这些需要互联的用户选择一台统一的服务器,这并不是很难做到,否则的话我们就需要一台专用的服务器对用户ID进行维护,这样风险和成本都很高
最终的用户管理方案是:
用户连接服务器之前必须要在该服务器上有相应的用户名密码,如果没有需要进行注册
更换服务器后原服务器之上的连接全部丢失(因为新的服务器可能为用户重新分配IP,而这个IP在其他服务器上可能会有冲突,在没有中心服务器的情况下这个矛盾无法解决)
服务器包含以下程序
1、服务器后台程序
2、用户认证接口,便于一些论坛的架设
3、管理员界面
1)重启、关闭服务器
2)服务器公告、备注设置
3)踢出用户
4)提升VIP用户(VIP用户和普通用户之间的区别是:是否可以通过服务器进行数据转发)
5)发布服务器公告
6)黑白IP名单
7)服务器配置
客户端包含以下程序
普通客户界面
1)创建、修改、删除虚拟网络
2)通过用户连接串直连用户
3)通过虚拟网络连接串直连虚拟网络
4)请求对单独用户的连接(需要访问口令)
5)请求加入虚拟网络(需要访问口令)
6)用户间消息发送-纯文本<400字/条
7)更换服务器
8)屏蔽某用户
9)自动重连
10)连接调用接口
11)自动登录
12)最小化到托盘
13)免界面模式-(需要成功登录)
经过讨论决定:放弃服务器直接的相互发现,取而代之的是稳定的命名规则,有了稳定的命名规则用户始终能定位到唯一的服务器上的唯一用户
用户连接串大概格式如下,可能会有变动:
cvn://服务器地址/user/用户名 如:cvn://218.94.12.3:8092/user/yuyuhaso
虚拟网连接串大概格式如下,可能会有变动:
cvn://服务器地址/group/组名 如:cvn://218.94.12.3:8092/group/War3
以上是类似于域名解析的规则,基本上也是蛮口语化的一种描述,看到以上的连接串可以很明确的定位到一个网络或者一台机器,这样一来用户可以发现足够多的新服务器,就像发现新的网站一样
CVN需要建立成一个没有中心服务器的虚拟网络,各个分服务器如何组织管理用户?
经过讨论决定:各个分服务器各自管理自己的用户群和虚拟网络,这样减少了设计复杂度,而且便于服务器管理员进行管理,使得服务器的功能更加灵活而不仅仅沦 落为一种资源,而是让管理员能 够更好的行使自己的权利,我想这样做也更加有利于ConVnet的发展:),没有行使特权的权利我想不会有很多人愿意架设ConVnet的服务器。
如何解决IP地址的分配?
既然用户是相对独立的,那么可以用用户ID来进行管理,使用10.x.x.x网段,地址由用户的ID来进行分配
那么接踵而来的问题就是:不同服务器之间的互联问题,因为不同服务器直接用户可能存在相同的ID,ID决定了用户的IP,那么势必造成IP的冲突
我们的解决方案是:让这些需要互联的用户选择一台统一的服务器,这并不是很难做到,否则的话我们就需要一台专用的服务器对用户ID进行维护,这样风险和成本都很高
最终的用户管理方案是:
用户连接服务器之前必须要在该服务器上有相应的用户名密码,如果没有需要进行注册
更换服务器后原服务器之上的连接全部丢失(因为新的服务器可能为用户重新分配IP,而这个IP在其他服务器上可能会有冲突,在没有中心服务器的情况下这个矛盾无法解决)
服务器包含以下程序
1、服务器后台程序
2、用户认证接口,便于一些论坛的架设
3、管理员界面
1)重启、关闭服务器
2)服务器公告、备注设置
3)踢出用户
4)提升VIP用户(VIP用户和普通用户之间的区别是:是否可以通过服务器进行数据转发)
5)发布服务器公告
6)黑白IP名单
7)服务器配置
客户端包含以下程序
普通客户界面
1)创建、修改、删除虚拟网络
2)通过用户连接串直连用户
3)通过虚拟网络连接串直连虚拟网络
4)请求对单独用户的连接(需要访问口令)
5)请求加入虚拟网络(需要访问口令)
6)用户间消息发送-纯文本<400字/条
7)更换服务器
8)屏蔽某用户
9)自动重连
10)连接调用接口
11)自动登录
12)最小化到托盘
13)免界面模式-(需要成功登录)