高分请教一个架构问题

guoxu0524 2014-05-08 09:29:38
一个tomcat的web服务器,监听8080端口,一个java应用程序写的通讯服务器监听10000端口,web服务器和通讯服务器是一台机器。现在用户A通过8080访问web,比如点击了一个链接,这里需要实现将这个事件转发给通过10000端口连接到通讯服务器的用户B。
整体上就是8080端口和10000端口都有数据的收发,这里的工作就是如何实现双向转发,如何实现,需要什么技术?
...全文
389 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
luowanghualin 2014-05-09
  • 打赏
  • 举报
回复
使用webservice 一种比较安全的交互方式,即便是多个程序放在多个不同的主机都可以实现,交互的格式是按照JSON格式进行交互流量消耗也小
teemai 2014-05-09
  • 打赏
  • 举报
回复
引用 4 楼 guoxu0524 的回复:
[quote=引用 1 楼 huxiweng 的回复:] web端事件触发了,对应你后台处理这个请求,需要转换成你的10000端口所需要的请求。 得到10000的返回值再处理下面的业务
是独立的两个程序[/quote] 知道是独立的2个。看你另外一个是什么类型的程序了。比如有socket的,TCP/IP通信的。主要还是看你这个程序的类型
fuxiaoshao 2014-05-09
  • 打赏
  • 举报
回复
引用 6 楼 guoxu0524 的回复:
[quote=引用 3 楼 u014602497 的回复:] 我只想到让两个程序可以互通消息,使用ActiveMQ,就算再多几个不同语言的程序也没有问题。
具体说说呢?[/quote] 相当于另起一程序,专门负责不同程序之间信息的传递。 楼上说的三种方法,如果你选择了MQ就百度一下如何配置使用,我说的指定没有百度说的好。我也只是用过,有些忘了。
比特灵 2014-05-09
  • 打赏
  • 举报
回复
引用 9 楼 guoxu0524 的回复:
[quote=引用 7 楼 bigc2001 的回复:]
web处理程序和java监听程序怎么交互,用什么技术[/quote][img=https://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/003/onion/18.gif] 这个谁知道,看你服务端是哪类了。如果自己写,直接socket完事。
guoxu0524 2014-05-09
  • 打赏
  • 举报
回复
引用 10 楼 ygycomon 的回复:
你的问题就是简单的同一个服务器上的两个进程如何通信 1、tcp/ip通信,8080和10000上两个进程各自再起一个链接用tcp通信就好了 2、用消息队列,就像楼上说的MQ,这种服务很多,一找一大把 3、写数据库写文件,这种也可以通信,只是无法做到实时通知
分析的很好,我研究一下
致知Fighting 2014-05-09
  • 打赏
  • 举报
回复
你的问题就是简单的同一个服务器上的两个进程如何通信 1、tcp/ip通信,8080和10000上两个进程各自再起一个链接用tcp通信就好了 2、用消息队列,就像楼上说的MQ,这种服务很多,一找一大把 3、写数据库写文件,这种也可以通信,只是无法做到实时通知
guoxu0524 2014-05-09
  • 打赏
  • 举报
回复
引用 7 楼 bigc2001 的回复:
web处理程序和java监听程序怎么交互,用什么技术
夕阳下的高山 2014-05-09
  • 打赏
  • 举报
回复
web端事件触发了,对应你后台处理这个请求,需要转换成你的10000端口所需要的请求。 得到10000的返回值再处理下面的业务
比特灵 2014-05-09
  • 打赏
  • 举报
回复
guoxu0524 2014-05-09
  • 打赏
  • 举报
回复
引用 3 楼 u014602497 的回复:
我只想到让两个程序可以互通消息,使用ActiveMQ,就算再多几个不同语言的程序也没有问题。
具体说说呢?
guoxu0524 2014-05-09
  • 打赏
  • 举报
回复
引用 2 楼 tigeryu 的回复:
一般的Socket技术即可,逻辑上注意不要死循环了
具体说说呢,两个独立的程序,各自在监听,各自要收发,他们之间也要有交互转发
guoxu0524 2014-05-09
  • 打赏
  • 举报
回复
引用 1 楼 huxiweng 的回复:
web端事件触发了,对应你后台处理这个请求,需要转换成你的10000端口所需要的请求。 得到10000的返回值再处理下面的业务
是独立的两个程序
fuxiaoshao 2014-05-09
  • 打赏
  • 举报
回复
我只想到让两个程序可以互通消息,使用ActiveMQ,就算再多几个不同语言的程序也没有问题。
wuyue-tiger 2014-05-09
  • 打赏
  • 举报
回复
一般的Socket技术即可,逻辑上注意不要死循环了
reentrantlock 2014-05-09
  • 打赏
  • 举报
回复
Writing data to DB is probably easier to implement if no need to guarantee real-time communication.
reentrantlock 2014-05-09
  • 打赏
  • 举报
回复
引用 15 楼 u013192985 的回复:
[quote=引用 11 楼 guoxu0524 的回复:] [quote=引用 10 楼 ygycomon 的回复:] 你的问题就是简单的同一个服务器上的两个进程如何通信 1、tcp/ip通信,8080和10000上两个进程各自再起一个链接用tcp通信就好了 2、用消息队列,就像楼上说的MQ,这种服务很多,一找一大把 3、写数据库写文件,这种也可以通信,只是无法做到实时通知
分析的很好,我研究一下[/quote] In order to guarantee real-time communicate, you can transform your communicating server into a web server.And then you can utilize HTTP convey information between both.[/quote] However,it involves the change of system architecture.I'm not sure whether it is applicable to your specific situation.
reentrantlock 2014-05-09
  • 打赏
  • 举报
回复
引用 11 楼 guoxu0524 的回复:
[quote=引用 10 楼 ygycomon 的回复:] 你的问题就是简单的同一个服务器上的两个进程如何通信 1、tcp/ip通信,8080和10000上两个进程各自再起一个链接用tcp通信就好了 2、用消息队列,就像楼上说的MQ,这种服务很多,一找一大把 3、写数据库写文件,这种也可以通信,只是无法做到实时通知
分析的很好,我研究一下[/quote] In order to guarantee real-time communicate, you can transform your communicating server into a web server.And then you can utilize HTTP convey information between both.
teemai 2014-05-08
  • 打赏
  • 举报
回复
web端事件触发了,对应你后台处理这个请求,需要转换成你的10000端口所需要的请求。 得到10000的返回值再处理下面的业务

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧