请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

关于登录的问题

老师,您对代码的讲解很详细,但可能是我基础太差,我对咱们这个项目整体的把控越来越模糊了。。。
我主要想问下,

  • 老师您说的tcp层是im-tcp,逻辑层是im-service吗?那网关层又是指什么?业务服务器跟逻辑层是一个意思吗?那im服务器又是指哪一块?
  • 关于登录,是从netty登录吗,还是从springboot中的controller?
  • 另外就是关于service中各个模块的controller:因为之前我了解的一些比较简单的项目,controller都是从浏览器接受url,然后返回数据给浏览器,但咱们这个项目,im-tcp与im-service全程使用mq进行通信,那im-service中各个模块的controller中那些RequestMapping是怎么起作用的?

可能这些问题在老师看来很弱智,但我现在是真的懵,,,就是大部分章节的代码能听懂,但知识没形成脉络,基本上看完就忘,有点不知其所以然的感觉,,,期待老师的解答,感谢老师!

正在回答 回答被采纳积分+3

1回答

conan老师 2023-03-26 22:52:16

问题1:tcp层就是im-tcp 逻辑层是im-service,网关层是一个比较大的统称,不同的项目网关层会是不一样,比如nginx可以作为你们服务的网关层,微服务中的gateway也可以,因为我们的逻辑层没有使用nginx也没有使用gateway,你可以认为im-tcp就是网关层。

业务服务器和im服务器:你开发一个app,它需要即时通讯的功能,那么你自己的业务就叫业务服务器,比方说你做的是企业办公,那你拉取企业和员工信息的接口和服务器就是业务服务器,im服务器是我们课程中主要开发的部分,负责消息的收发和基本的im逻辑处理如好友,个人信息,群组,消息等等...

问题2:我们项目中的设计是通过netty登录,但是登录之前需要发起一个http的登录获取netty服务器的地址,真正的登录是netty处理的。im的登录和业务服务器的登录是不一样的,详情看倒数第二章演示对接的内容。

问题3:我们的项目中,netty负责消息收发。但是一些业务逻辑的处理是使用http处理的,这也是最常见的im解决方案。im-service处理业务逻辑,im-tcp负责消息收发,这是他们的职责划分。所以这里和问题1呼应,im-tcp是长连接网关,如果项目到了生产环境使用了nginx,那么nginx也属于网关层,如果项目用微服务重构使用了某个网关组件,那么这个网关组件也属于网关层。因为我们的项目是使用长连接+短连接的方式开发的。

1 回复 有任何疑惑可以回复我~
  • 提问者 vhsgsajsad #1
    感谢老师!现在感觉清晰多了!
    但问题3我还是有点迷糊,职责划分这个我是明白的,但im-service中有很多模块,像message,friendship等,每个模块都有自己的controller,controller中有自己的多种方法和各种@RequestMapping(),这些函数起作用的方式也是浏览器的url吗?也就是老师您说的http短连接?业务服务器通过http请求,可以直接使用我们im-service的功能吗?
    回复 有任何疑惑可以回复我~ 2023-03-26 23:09:18
  • conan老师 回复 提问者 vhsgsajsad #2
    是的可以直接请求,不过要加上接口的健全,还有我们需要在一些接口上做限制,让接口只能通过sdk来调用,比如增量拉取这部分。只是这部分内容没有在课程中完成,不过这也不难,你可以参考下腾讯云的api接口看看腾讯云暴露了哪些接口可以给业务服务器去调用,这部分内容应该在第三章。
    回复 有任何疑惑可以回复我~ 2023-03-26 23:13:32
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信